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

  

 

原文地址:https://www.cnblogs.com/jabbok/p/10077904.html