期末作业做网站的心得体会,手机wap网站html源码,wordpress 做问卷,团购产品 网站建设本文内容主要为使用Python 对Mongodb数据库的一些基本操作整理。 目录
安装类库
操作实例
引用类库
连接服务器
连接数据库
添加文档
添加单条
批量添加
查询文档
查询所有文档
查询部分文档
使用id查询
统计查询
排序
分页查询
更新文档
update_one方法
upd… 本文内容主要为使用Python 对Mongodb数据库的一些基本操作整理。 目录
安装类库
操作实例
引用类库
连接服务器
连接数据库
添加文档
添加单条
批量添加
查询文档
查询所有文档
查询部分文档
使用id查询
统计查询
排序
分页查询
更新文档
update_one方法
update_many方法
删除文档
delete_one方法
delete_many方法
总结 安装类库
打开命令行执行以下命令
pip install pymongo
安装过程如下 操作实例
引用类库
首先需要引入mongodb的操作类库示例如下
from pymongo import MongoClient 连接服务器
conn MongoClient(localhost, 27017) 连接数据库
db conn.mydb 添加文档
添加单条
使用insert_one()方法添加一个学生记录。
示例如下
from pymongo import MongoClientconn MongoClient(localhost, 27017)db conn.mydb
student db.student
student.insert_one({name: zhangsan, age: 20, gender: 1, address: 北京海淀区, isDel: 0})# 关闭
conn.close() 批量添加
使用insert_many()方法添加多个学生记录。
示例如下
from pymongo import MongoClientconn MongoClient(localhost, 27017)db conn.mydb
collection db.student
# 批量
collection.insert_many([{name: 李四, age: 18, gender: 0, address: 北京海淀区, isDel: 0},{name: 王五, age: 21, gender: 1, address: 北京昌平区, isDel: 0},{name: 赵六, age: 19, gender: 0, address: 北京朝阳区, isDel: 0}
])# 关闭
conn.close() 查询文档
使用查询方法查询刚才插入的数据。根据查询条件不同分为以下类型。 查询所有文档
没有查询条件即查询集合中所有记录。
示例如下
from pymongo import MongoClientconn MongoClient(localhost, 27017)collection conn.mydb.studentres collection.find()
for row in res:print(row)print(type(row))conn.close()
执行结果 查询部分文档
通过设置查询条件为小于20岁的学生来查询符合条件的部分数据。
示例如下
res collection.find({age: {$gt: 20}})
for row in res:print(row)print(type(row))
执行结果 使用id查询
使用id查询与mysql不同需要使用id生成器来转化id字符串后在进行查询。
示例如下
from bson.objectid import ObjectId
info collection.find({_id:ObjectId(666bbb5b8d4817f169319d61)})
print(info)
print(type(info))
print(info[0])
打印为对象类型可获取其第一个元素。
执行结果 统计查询
对符合查询条件的记录进行数量统计。
示例如下
res collection.count_documents({age: {$gte: 20}})
print(res)
执行结果
3 排序
默认升序 pymongo.DESCENDING倒序。
示例如下
import pymongo
from pymongo import MongoClientconn MongoClient(localhost, 27017)collection conn.mydb.student# 默认升序 pymongo.DESCENDING倒序
res collection.find().sort(age, pymongo.DESCENDING)
for row in res:print(row) 分页查询
通过skip()和limit()方法实现分页。
示例如下
from pymongo import MongoClientconn MongoClient(localhost, 27017)collection conn.mydb.studentres collection.find().skip(2).limit(5)
for row in res:print(row) 更新文档
update_one方法
只会修改符合条件的第一条记录。
示例如下
info collection.update_one({name: zhangsan}, {$set: {name: 李雷}})
print(info)
执行结果
# 修改成功
# UpdateResult({n: 1, nModified: 1, ok: 1.0, updatedExisting: True}, acknowledgedTrue)
# 没有找到符合记录未修改
# UpdateResult({n: 0, nModified: 0, ok: 1.0, updatedExisting: False}, acknowledgedTrue) update_many方法
会修改所有符合条件的记录。
示例如下
info collection.update_many({name: 李四}, {$set: {name: 李武}})
print(info) 执行结果
UpdateResult({n: 2, nModified: 2, ok: 1.0, updatedExisting: True}, acknowledgedTrue) 删除文档
删除文档也有两个方法。 delete_one方法
删除符合条件的第一条记录。
示例如下
info collection.delete_one({name: 李雷})
print(info) delete_many方法
删除符合条件的所有记录。
示例如下
info collection.delete_many({age: {$gte: 20}})
print(info)
执行结果
DeleteResult({n: 2, ok: 1.0}, acknowledgedTrue) 总结
本文内容主要为使用Python 对Mongodb数据库的一些基本操作整理。