使用pymongo在mongodb中按ObjectId搜索文档

问题描述 投票:0回答:2

我需要使用 pymongo 通过 python 搜索 ObjectId,但总是出现错误。

import pymongo
from pymongo import MongoClient
from pymongo import ObjectId

gate = collection.find({'_id': ObjectId(modem["dis_imei"])})

有什么想法如何搜索吗?

python mongodb pymongo
2个回答
246
投票

我使用pymongo 2.4.1。

from bson.objectid import ObjectId
[i for i in dbm.neo_nodes.find({"_id": ObjectId(obj_id_to_find)})]

0
投票

假设每个文档都有一个唯一的

ObjectId
,我们可以直接使用
find_one
来搜索它。一个例子如下:

from bson import ObjectId
collection.find_one(ObjectId("1234ab567c890d111213efgh"))

请注意,与返回游标的

collection.find({})
不同(因此必须迭代才能获取实际文档),上面的调用返回 dict (如果有匹配)或 None (如果没有匹配)。

© www.soinside.com 2019 - 2024. All rights reserved.