MongoDB与python的交互
管理员运行命令提示符
使用pip安装pymongo包(pymongo是Python中用来操作MongoDB的一个库)
注意:此时MongoDB服务要启动
1、添加文档
from pymongo import MongoClient
# 连接服务器
conn = MongoClient("localhost", 27017)
# 连接数据库
db = conn.mydb
# 获取集合
collection = db.student
# 添加文档
# collection.insert_one({"name": "西施", "age": 17, "gender": 0, "address": "长沙", "isDelete": 0})
# 一次性添加多个
collection.insert_many([{"name": "娜可露露", "age": 20, "gender": 0, "address": "东京", "isDelete": 0}, {"name": "不知火舞", "age": 19, "gender": 0, "address": "神户", "isDelete": 0}])
# 断开
conn.close()
2、查询文档
from pymongo import MongoClient
# 连接服务器
conn = MongoClient("localhost", 27017)
# 连接数据库
db = conn.mydb
# 获取集合
collection = db.student
# 查询文档 (查询年龄>18)
res = collection.find({"age": {"$gt": 18}})
for row in res:
print(row)
print(type(row)) # 字典类型
'''
# 查询所有文件
res = collection.find()
for row in res:
print(row)
print(type(row)) # 字典类型
'''
# 断开
conn.close()
from pymongo import MongoClient
# 用id查询引入
from bson.objectid import ObjectId
#排序方法2 需要的库
import pymongo
# 连接服务器
conn = MongoClient("localhost", 27017)
# 连接数据库
db = conn.mydb
# 获取集合
collection = db.student
'''
# 查询文档 (查询年龄>18)
res = collection.find({"age": {"$gt": 18}})
for row in res:
print(row)
print(type(row))
# 查询所有文件
res = collection.find()
for row in res:
print(row)
print(type(row)) # 字典类型
# 统计查询
res = collection.find({"age": 18}).count()
print(res) # 4
# 根据id查询
res = collection.find({"_id": ObjectId("5f311d120606ec823eda6fcf")})
print(res[0]) # {'_id': ObjectId('5f311d120606ec823eda6fcf'), 'name': '瑶', 'age': 16.0, 'gender': 0.0, 'address': '重庆', 'isDelete': 0.0}
'''
# 排序
res = collection.find().sort("age") # 升序
# res = collection.find().sort("age", -1) # 降序
# 升序方法2
# collection.find().sort("age", pymongo.ASCENDING)
# 降序方法2
# res = collection.find().sort("age", pymongo.DESCENDING)
for row in res:
print(row)
# 断开
conn.close()
from pymongo import MongoClient
# 用id查询引入
from bson.objectid import ObjectId
#排序方法2 需要的库
import pymongo
# 连接服务器
conn = MongoClient("localhost", 27017)
# 连接数据库
db = conn.mydb
# 获取集合
collection = db.student
'''
# 查询文档 (查询年龄>18)
res = collection.find({"age": {"$gt": 18}})
for row in res:
print(row)
print(type(row))
# 查询所有文件
res = collection.find()
for row in res:
print(row)
print(type(row)) # 字典类型
# 统计查询
res = collection.find({"age": 18}).count()
print(res) # 4
# 根据id查询
res = collection.find({"_id": ObjectId("5f311d120606ec823eda6fcf")})
print(res[0]) # {'_id': ObjectId('5f311d120606ec823eda6fcf'), 'name': '瑶', 'age': 16.0, 'gender': 0.0, 'address': '重庆', 'isDelete': 0.0}
'''
'''
# 排序
res = collection.find().sort("age") # 升序
# res = collection.find().sort("age", -1) # 降序
# 升序方法2
# collection.find().sort("age", pymongo.ASCENDING)
# 降序方法2
# res = collection.find().sort("age", pymongo.DESCENDING)
for row in res:
print(row)
'''
# 分页查询 (越过3页.再查4页)
res = collection.find().skip(3).limit(4)
for row in res:
print(row)
# 断开
conn.close()