我有一个网站,我想做这样的事情:
myModel.create({myObject}); //I want to access the automatically created objectId of this new document
refModel.create({refId:somehowAccessId});
//Or, without Mongoose
db.myCollection.insert({myObject});
db.refCollection.insert({refId:somehowAccessId})
如何实现(最好不使用
find
查询和回调)。 最佳答案
你可以使用猫鼬的.save
来达到这个目的。在第一个模型中插入对象,保存它,并在收到成功回调后,将其_id
用于第二个模型,
let model = new myModel(myObject);
model.save(function(err, savedObject) {
let accessId = savedObject._id;
refModel.create({refId: accessId}); //or something similar
})
不用猫鼬也能做到
db.myCollection.insert(objectToBeSaved, function(err, savedObject) {
let accessId = savedObject._id;
db.refCollection.insert({refId: accessId}); //or something similar
})
关于node.js - 创建过程中如何访问MongoDB对象ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48778421/