mongodb-CURD
插入
import pymongo conn = pymongo.MongoClient('mongodb://192.168.10.10:27017') mydb = conn['myDB'] mycol = mydb['users'] # dict = {'name':'jabbok','age':'22','area':'hangzhou'} # x = mycol.insert_one(dict) # print(x.inserted_id) list = [ {'name':'jarry','age':'22','area':'hangzhou'}, {'name':'Eric','age':'22','area':'背景'}, {'name':'lee','age':'22','area':'hangzhou'} ] x = mycol.insert_many(list) print(x.inserted_ids) > [ObjectId('5c08da8e0a3abb0a3cfbe5ba'), ObjectId('5c08da8e0a3abb0a3cfbe5bb'), ObjectId('5c08da8e0a3abb0a3cfbe5bc')] #选择操作的服务、db、集合 #插入的数据可以是字典,或者包含多个字典的列表 #如果是一个字典,就是一个文档,就用insert_one,多个就用insert_many #insert_ids方法会返回每个插入文档的id
查询
查询集合中所有数据
import pymongo conn = pymongo.MongoClient('mongodb://192.168.10.10:27017') mydb = conn['myDB'] mycol = mydb['users'] ret = mycol.find() for x in ret: print(x) > {'_id': ObjectId('5c08d8590a3abb19f4c81b53'), 'name': 'jabbok', 'age': '22', 'area': 'hangzhou'} {'_id': ObjectId('5c08da8e0a3abb0a3cfbe5ba'), 'name': 'jarry', 'age': '22', 'area': 'hangzhou'} {'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bb'), 'name': 'Eric', 'age': '22', 'area': '背景'} {'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bc'), 'name': 'lee', 'age': '22', 'area': 'hangzhou'} #集合方法find()用于全集合查询,返回一个包含所有字典的列表
查询指定字段的数据
ret = mycol.find({},{'_id':0,'area':1}) for x in ret: print(x) > {'area': 'hangzhou'} {'area': 'hangzhou'} {'area': '背景'} {'area': 'hangzhou'} #指定需要返回的字段,0代表不需要,一代表需要。 #把_id设为0,那么就返回设为1的字段 ret = mycol.find({},{'area':0}) for x in ret: print(x) > {'_id': ObjectId('5c08d8590a3abb19f4c81b53'), 'name': 'jabbok', 'age': '22'} {'_id': ObjectId('5c08da8e0a3abb0a3cfbe5ba'), 'name': 'jarry', 'age': '22'} {'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bb'), 'name': 'Eric', 'age': '22'} {'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bc'), 'name': 'lee', 'age': '22'} #把某个字段设为0,则不返回这个字段
根据指定条件查询
myque = {'area':'hangzhou'} ret = mycol.find(myque) for x in ret: print(x) #按文档中的field-value进行匹配