6

我正在使用带有 pymongo 的烧瓶,并且我的对象 ID 被转换为字符串。如何将其更改回对象 ID,以便可以使用 if 进行查询?

From : 59d7ef576cab3d6118805a20
type is <class 'str'>

To: ObjectId("59d7ef576cab3d6118805a20")
type is <class 'bson.objectid.ObjectId'>
4

1 回答 1

10

您可以使用bson.objectid.ObjectId从字符串创建 ObjectId。请参阅 pymongo 站点上的文档:http: //api.mongodb.com/python/current/api/bson/objectid.html

例如:

from pymongo import MongoClient
from bson.objectid import ObjectId

client = MongoClient()
collection = client.test.test

print(collection.find_one({"_id": ObjectId("59d7ef576cab3d6118805a20")}))

bson软件包与 pymongo 一起安装。您不需要安装单独的 bson 包。

于 2017-10-15T06:49:41.567 回答