分类: python3

Python操作MongoDB查询时处理ObjectId

Python操作MongoDB查询时_id需要用这个ObjectId,它们又是如何配合操作的呢?

请在Python中直接用ObjectId会报错,错误信息如下:

Traceback (most recent call last): File "D:/pythoncode/xxx.py", line 32, in <module> cursor=collection.find_one({'_id':ObjectId(strid)}) NameError: name 'ObjectId' is not defined

然而MongoDB查询的格式又如下,那如何直接使用ObjectId呢? 导入包from bson import ObjectId就可以直接使用了 {'_id':ObjectId('5f7720681f2ba0ea35351c01')}

from bson import ObjectId
import pymongo
MONGO_URI = 'localhost'
client = pymongo.MongoClient(MONGO_URI)
collection = client['MongoDB数据名']['MongoDB集合名']
strid='5f7720681f2ba0ea35351c01'
cursor=collection.find_one({'_id':ObjectId(strid)})
print(cursor)
client.close()