# 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'} } 可以看到 参数也是一个对象