我正在使用pymongo和烧瓶。 我的用例,我可以将mongodb的文档_id作为整数(来自关系存储的迁移数据)或monogo的ObjectId()(生成)。
在得到回应中我分别得到这样的事情:
第一种情况(带整数ID):
{
"_id": 123456,
"name": "something.."
}
第二种情况使用ObjectId()
{
"_id":
{
"$oid": "55f5efc60640fd09620c109c"
},
"name": "something.."
}
我想在两种情况下都有统一的结构 - 所以我想第二个案例就像 -
{
"_id": "55f5efc60640fd09620c109c",
"name": "something.."
}
如何实现这一目标? 除了遍历每个结果并替换值?
答案 0 :(得分:1)
找到我的问题的解决方案,分享可以帮助他人。
在mongo中没有架构,所以你可以将_id的值作为任何东西(整数/对象/字符串,就像我的情况一样)。
在python中,我这样做是为了拥有命令键值对结构:
from bson.objectid import ObjectId
new_doc = db.collection.insert({'_id': str(ObjectId())}) // This won't create additional _id field in your document.
找到像:
doc = db.collections.find_one({'_id': "12-char-mongodb-type-id"})
doc = db.collections.find_one({'_id': 12345})