这可能很简单,但在运行时插入'从 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
谢谢
答案 0 :(得分:2)
试试这个:
var doc={...}
db.coll.save(doc);
print(doc._id)
请注意,db.collection.save()会在找到_id匹配时更新文档。在您的情况下,它将执行插入。
老实说,我不太清楚为什么db.collection.insert()
不会在你的内存文件中填充_id
......