javascript - 在NodeJS中获取Mongo数据库中插入文档的_id

我使用 NodeJS 在 MongoDB 中插入文档。使用 collection.insert 我可以像下面的代码一样将文档插入数据库:

// ...
collection.insert(objectToInsert, function(err){
   if (err) return;
   // Object inserted successfully.
   var objectId; // = ???
});
// ...

如何获取插入对象的_id

有没有办法在不插入最新对象_id的情况下获取_id

假设同时有很多人访问数据库,我不能确定最新的id是插入对象的id。

最佳答案

比对 collection.insert 的回调使用第二个参数更短的方法是使用返回 _idobjectToInsert._id(在回调函数,假设它是一个成功的操作)。

NodeJS 的 Mongo 驱动程序将 _id 字段附加到原始对象引用,因此使用原始对象很容易获取插入的 id:

collection.insert(objectToInsert, function(err){
   if (err) return;
   // Object inserted successfully.
   var objectId = objectToInsert._id; // this will return the id of object inserted
});

https://stackoverflow.com/questions/14481521/

相关文章:

macos - 无法连接到mongodb errno :61 Connection refused

node.js - ( Node :3341) DeprecationWarning: Mongoo

MongoDB GPG - 无效签名

mongodb - GridFS 对于生产来说是否足够快速和可靠?

mongodb - Mongoose 的 $or 条件的 find 方法无法正常工作

mongodb - 为什么 Mongoose 既有模式又有模型?

linux - 无法连接到服务器 127.0.0.1 shell/mongo.js

mongodb - 未指定排序顺序时,MongoDB 如何对记录进行排序?

mongodb - 在 MongoDB 中查找重复记录

node.js - 如何获得 Mongoose 模型的所有计数?