我试图弄清楚如何使用我的订单集合中的businessId属性填充业务订单。
我尝试了这个,但无法让它发挥作用。 https://www.npmjs.com/package/mongoose-reverse-populate
知道我做错了什么或其他建议如何完成我需要做的事情?
Business.findById(id).exec(function(err, business) {
var opts = {
modelArray: business,
storeWhere: "orders",
arrayPop: true,
mongooseModel: Order,
idField: "businessId"
};
reversePopulate(opts, function(err, businessAndOrders) {
req.business = businessAndOrders;
next();
});
});
-
var BusinessSchema = new Schema({
businessName:{
type:String
}
/*.......*/
});
var OrderSchema = new Schema({
data: {
type: String,
}
created: {
type: Date,
default: Date.now
},
businessId: {
type: Schema.ObjectId,
ref: 'Business'
}
});
答案 0 :(得分:0)
您可以使用Populate Virtuals来实现反向填充。 (猫鼬版本> 4.5.0)
如果是这种情况,请参考上面的链接或https://stackoverflow.com/a/51664307/3210050