mongodb-CURD

时间:2023-03-09 03:50:19
mongodb-CURD

插入

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进行匹配