Flask PyMongo字符串返回ObjectID

时间:2017-10-15 05:36:11

标签: mongodb flask pymongo pymongo-3.x flask-pymongo

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用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")}))

使用pymongo安装bson包。您不需要安装单独的bson包。