- 点击查看官方文档
- 安装python包
#进入虚拟环境
sudo pip install pymongo
#或源码安装
python setup.py - 引入包pymongo
import pymongo
- 连接,创建客户
无安全认证的连接:client = MongoClient('mongodb://localhost:27017')
有安全认证的连接:client = MongoClient('mongodb://用户名:密码@localhost:27017/数据库')
用户名,密码,主机ip,端口可通过参数传递:
uri = 'mongodb://%s:%s@%s/%s'%(name,pwd,host,db) - 获得数据库test
db = client.test
获得集合stu
stu = db.stu
- 集合常用的方法
- insert_one()
- insert_many()
- delete_one()
- delete_many()
- update_one()
- update_many()
- find_one()
- find()
- aggregate()
- count()
insert_one()
from datetime import datetime
info = {"name":"Vella","date": datetime.strptime("2014-10-01", "%Y-%m-%d"),"grade": "A","score":17}
stu.insert_one(info)- insert_many()
from datetime import datetime
infos = [{"name":"Vella","date": datetime.strptime("2014-10-01", "%Y-%m-%d"),"grade": "A","score":17},{"name":"Kitty","date":datetime.strptime("2014-10-16", "%Y-%m-%d"),"grade": "B","score":10}]
client = pymongo.MongoClient('mongodb://localhost:27017')
db = client.grades
restult =db.grade.insert_many(infos)
是否写成功
restult.acknowledged
Out[77]: True
获取插入的id
restult.inserted_ids
Out[78]: [ObjectId('59be2a6f98a8f123cda66409'), ObjectId('59be2a6f98a8f123cda6640a')]
- find()
t = db.grade.find()
for i in t:
print(i)
{'_id': ObjectId('59be2a6f98a8f123cda66409'), 'name': 'Vella', 'date': datetime.datetime(2014, 10, 1, 0, 0), 'score': 17, 'grade': 'A'}
{'_id': ObjectId('59be2a6f98a8f123cda6640a'), 'name': 'Kitty', 'date': datetime.datetime(2014, 10, 16, 0, 0), 'score': 10, 'grade': 'B'} - find_one()
In [84]: db.grade.find_one()
Out[84]:
{'_id': ObjectId('59be2a6f98a8f123cda66409'),
'name': 'Vella',
'date': datetime.datetime(2014, 10, 1, 0, 0),
'score': 17,
'grade': 'A'} - 正则查询
- cursor = reviews_collection.find({“text”:{‘$regex’ : “.*atmosphere.*”}})
- count()
获取文档个数
In [115]: t.count()
Out[115]: 2
mongoDB与Python交互
最新推荐文章于 2024-01-19 23:56:16 发布