mongodb - 插入后如何在 PyMongo 中获取对象 ID?

我正在对 Mongo 进行简单的插入...

db.notes.insert({ title: "title", details: "note details"})

note文档插入后,需要立即获取object id。从插入返回的结果包含一些关于连接和错误的基本信息,但没有文档和字段信息。

我发现了一些关于使用 upsert=true 的 update() 函数的信息,我只是不确定这是否是正确的方法,我还没有尝试过。

最佳答案

关于 MongoDB 的一个很酷的事情是 id 是在客户端生成的。

这意味着您甚至不必询问服务器 id 是什么,因为您一开始就告诉它要保存什么。使用 pymongo,插入的返回值将是对象 id。看看吧:

>>> import pymongo
>>> collection = pymongo.Connection()['test']['tyler']
>>> _id = collection.insert({"name": "tyler"})
>>> print _id.inserted_id 
4f0b2f55096f7622f6000000

https://stackoverflow.com/questions/8783753/

相关文章:

mongodb - 如何停止在 mongodb 集合中插入重复文档

python - 从字符串中删除每个非 utf-8 符号

mongodb - 一个数据库的 Mongorestore 给我带来了麻烦

node.js - Mongoose:模式与模型?

arrays - 查询 MongoDB 以匹配数组中的第一项

python - Django session

mongodb - 如何通过一次调用将一组对象推送到 Mongoose 中的数组中?

session - node.js + express.js : session handling

mongodb - MongoDB可靠吗?

mongodb - 执行 mongoexport 时 "too many positional op