我有一个网站,我想做这样的事情:
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
查询和回调)。
答案 0 :(得分:1)
您可以将mongoose的.save
用于此目的。在第一个模型中插入对象,保存它,并在收到成功回调后,将其_id
用于第二个模型,
let model = new myModel(myObject);
model.save(function(err, savedObject) {
let accessId = savedObject._id;
refModel.create({refId: accessId}); //or something similar
})
可以在不使用mongoose
的情况下完成同样的操作 db.myCollection.insert(objectToBeSaved, function(err, savedObject) {
let accessId = savedObject._id;
db.refCollection.insert({refId: accessId}); //or something similar
})