通过Shell插入时检索新生成的_id

时间:2014-03-12 15:47:30

标签: mongodb

这可能很简单,但在运行时插入'从 Mongodb shell ,我似乎无法检索新生成的_id:

db.coll.insert({someField:"someValue"});
var theId=??? /* How to get the _id of my newly inserted object? */

我知道如何通过语言特定的驱动程序(java,node.js)检索它,而不是从 Shell 检索它。到目前为止,我删除了以下内容:

var x=db.coll.insert(...)
print(x);
// Doesn't work: x is undefined

var doc={...}
db.coll.insert(doc);
print(doc._id)
// Doesn't work, prints undefined 

谢谢

1 个答案:

答案 0 :(得分:2)

试试这个:

var doc={...} db.coll.save(doc); print(doc._id)

请注意,db.collection.save()会在找到_id匹配时更新文档。在您的情况下,它将执行插入。

老实说,我不太清楚为什么db.collection.insert()不会在你的内存文件中填充_id ......