PyMongo是MongoDB数据库的python模块

MongoDB是由C++语音编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统。

win10 安装 4.0

使用官网的配置

使用 net start mongodb 查看是否启动成功

import pymongo
client = pymongo.MongoClient("localhost",27017) #连接数据库
test = client["test"] #使用test数据库
students = test["students"] #使用students表格 #数据
def data_portion():
insert_data_1 = {"id":"",
"name":"小明",
"age":12}
insert_data_2 = {"id":"",
"name":"小红",
"age":11}
insert_data_3 = {"id":"",
"name":"小强",
"age":12}
data = [insert_data_1, insert_data_2, insert_data_3]
return data
#插入数据
def insert_portion(data):
students.insert_many(data) #插入数据
results = students.find() #查看所以数据,返回一个生成器对象
for result in results:
print(result["name"])
print("当前数据一共有: " + str(students.count()) + "条") #删除数据
def remove_portion():
print("remove------------------------------") remove_dates = students.find({"age":{"$ne":12}}) # $ne:不等于
print("匹配条数: " + str(remove_dates.count()) + "条")
for remove_date in remove_dates:
students.delete_one(remove_date) #查找数据
def find_portion():
print("find------------------------------")
count = students.find().count()
print("数据一共有: " + str(count) + "条")
finds = students.find()
print("分别是:")
for find in finds.sort("id",pymongo.ASCENDING):
print(find) #排序截取数据
def sort_skip_portion():
print("sort_skip------------------------------")
#排序 : sort(按照谁排序,排序方式)。升序:ASCENDING,降序:DESCENDING
#偏移 : skip(偏移数量) #限制 : limit(限制个数)
results = students.find().sort("id",pymongo.ASCENDING).skip(2).limit(2)
print([result["name"] for result in results]) #遍历并以列表方式储存 #更新数据
def update_portion():
# update用法官网不推荐使用
# update语句需要 $ 操作
print("update------------------------------") def first_find_portion():
# update_one的使用
find = {"id":""}
replace = {"$set":{"id":"clear"}}
# update(替换对象,替换内容)
update = students.update_one(find,replace)
print("匹配的条数: " + str(update.matched_count))
print("影响的条数: " + str(update.modified_count))
def second_find_portion():
# update_many的使用
find = {"id":{"$nin":["clear",""]}} # $nin : 不在范围
replace = {"$set":{"id":"be update"}}
update = students.update_many(find,replace)
print("匹配的条数: " + str(update.matched_count))
print("影响的条数: " + str(update.modified_count)) first_find_portion()
second_find_portion()
if __name__ == "__main__":
# 清空数据库数据
students.delete_many({"id":{"$ne":0}})
# 循环插入3次
for i in range(3):
# 调用函数
insert_portion(data_portion())
remove_portion()
sort_skip_portion()
update_portion()
find_portion()

下面为运行结果:

pymongo基础的更多相关文章

  1. pymongo基础使用方法

    本文通过文章同步功能推送至博客园,排版可能会有所错误,敬请见谅! 1.客户端初始化 初始化MongoDB客户端 client = pymongo.MongoClient('localhost',270 ...

  2. mongodb,Mysql,redis基础教程

    数据库基础 1:mongodb基础教程 1:pymongo基础教程  2:Mysql基础教程 3:redis基础教程

  3. python基础教程之pymongo库

    1. 引入 在这里我们来看一下Python3下MongoDB的存储操作,在本节开始之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库. 1.  安装 pi ...

  4. pymongo(看后转载,在原基础上添加了类连接和简单调用)

    一.MongoDB 数据库操作 1. 连接数据库 import pymongo conn = pymongo.Connection() # 连接本机数据库 # conn = pymongo.Conne ...

  5. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  6. MongoDB的upsert状态判断和pymongo使用方法

    在mongo中,有一个命令非常的方便,就是upsert,顾名思义就是update+insert的作用 根据条件判断有无记录,有的话就更新记录,没有的话就插入一条记录 upsert的使用方法: Mong ...

  7. pymongo 学习总结

    1.简介 MongoDB是一种强大.灵活.追求性能.易扩展的数据存储方式.是面向文档的数据库,不是关系型数据库,是NoSQL(not only SQL)的一种.所谓的面向文档,就是将原来关系型数据库中 ...

  8. 爬虫基础(五)-----scrapy框架简介

    ---------------------------------------------------摆脱穷人思维 <五> :拓展自己的视野,适当做一些眼前''无用''的事情,防止进入只关 ...

  9. 第一阶段——CentOS6_Python3.6.1笔记(尚学堂-Python基础快速入门)+ 【补充】麦子-Python程序入门与进阶

    虚拟机环境: 设置网络 .修改网络地址 .设置网卡为nat模式 .确保物理机启动dhcp.net服务 .编辑文件:vim /etc/sysconfig/network-scripts/ifcfg-et ...

随机推荐

  1. unity 使用方法

    1.Rotaion 想要设定一个实例的rotation的时候不能使用Vector3来直接设定:应改为 rotation = Quaternion.Euler (0.0f, 180.0f, 0.0f); ...

  2. C#+EntityFramework编程方式详细之Code First 数据迁移

    在前几篇的C#+EntityFramework编程方式中介绍了C#+EntityFramework编程方式Code First ,Model First以及Dtatabase First 等编程方式, ...

  3. P4735 最大异或和

    题目链接 题目描述 给定一个非负整数序列{a},初始长度为N. 有M个操作,有以下两种操作类型: A x:添加操作,表示在序列末尾添加一个数x,序列的长度N+1. Q l r x:询问操作,你需要找到 ...

  4. hash与encrypt

    概括来说,哈希(Hash)是将目标文本转换成具有相同长度的.不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有不同长度的.可逆的密文. 具体来说,两者有如下重要区别: ...

  5. Python学习(四十)—— Djago之认证系统

    一.COOKIE 与 SESSION 概念 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cook ...

  6. if的{}的省略

    if (表达式) 语句; else if(表达式) 语句; else if(表达式) 语句; else 语句; 对应: if (表达式) { 语句1; 语句2; 语句N;//多个语句组成代码块 } e ...

  7. python使用urllib2 http 下载参数的try catch

    import urllib2 req = urllib2.Request('http://blog.csdn.net/cqcre')try: urllib2.urlopen(req)except ur ...

  8. 2017-2018 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2017)

    A. Cakey McCakeFace 按题意模拟即可. #include<stdio.h> #include<iostream> #include<string.h&g ...

  9. 前端性能优化 —— 添加Expires头

    简要:添加Expires头能有效的利用浏览器的缓存能力来改善页面的性能,能在后续的页面中有效避免很多不必要的Http请求,WEB服务器使用Expires头来告诉Web客户端它可以使用一个组件的当前副本 ...

  10. 02_ if_else if 练习

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...