继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python 操作 mongodb 增删改查

慕运维2858188
关注TA
已关注
手记 123
粉丝 63
获赞 512
导入模块
# coding:utf-8
from bson import ObjectId
from pymongo import MongoClient
建立数据的连接
conn = MongoClient('localhost', 27017)
创建数据库
db = conn.testdb
向数据库中插入多条数据
db.col.insert([
    {"name": 'yanying', 'province': '江苏', 'age': 25},
    {"name": '张三', 'province': '浙江', 'age': 24},
    {"name": '张三1', 'province': '浙江1', 'age': 25},
    {"name": '张三2', 'province': '浙江2', 'age': 26},
    {"name": '张三3', 'province': '浙江3', 'age': 28},
])
取出结果集中的第一条数据
result = db.col.find_one()
print(type(result))
类型为 pymongo.cursor.Cursor
print(type(db.col.find()))
查询所有数据
for item in db.col.find():
    print(item)
统计所有记录的数量
number = db.col.find().count()
print("数据表 col中有文档数量为:" + str(number))
条件过滤查询
re = db.col.find({"age": {"$gt": 25}}).count()
print("大于25岁的人数有:" + str(re))
排序 , 默认为升序
result_dic = db.col.find().sort("age")
for item in result_dic:
    print(item)
更新数据库,ObjectId需要引入
db.col.update({'_id': ObjectId('59255118d92fac43dcb1999a')}, {'$set': {'name': '王二麻33333'}})
删除数据据
db.col.remove({'name':'王二麻33333'})
删除全部数据(慎用)
db.col.remove()
总结

python 操作 mongo的优雅的地方在于存储的是字典,读取的也是字典,省略了很多的中间转化环节

{ }可以看是一个对象

{'name':'王二麻33333'} : 是一条数据,一条数据就是一个对象

{"$gt": 25} : 可以把它看作是一个方法 "$gt" 是方法名 25 是参数 , 一个方法同样也可以看作是一个对象

{'$set': {'name': '王二麻33333'} } 可以看到 参数也是一个对象

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP