我有一个控制器,该控制器应在2个模型上执行操作,其中第2个数据库模型必须包含第1个模型_id
作为参考。
示例:
const model1 = await new firstModel(somedata).save();
const model2 = new secondModel({
test: true //dummy
referId: //this must contain the value of _id of model1
});
await model2.save()
我不想使用pre('save', ..)
挂钩。有什么方法可以执行此操作?
答案 0 :(得分:2)
将您自己的ObjectID _id
字段预先分配给第一个模型的somedata
,然后将其分配给第二个模型。
const ObjectId = require('mongodb').ObjectId;
const somedata = {
_id: new ObjectId(),
present: true //dummy
}
const model1 = await new firstModel(somedata).save();
const model2 = new secondModel({
test: true //dummy
referId: somedata._id
});
await model2.save()
_id
键是可选的-如果未传递,则自动生成,如果传递给模型构造函数,则接受。