反向填充猫鼬

时间:2015-12-12 02:18:03

标签: node.js mongodb mongoose mean-stack mongoose-populate

我试图弄清楚如何使用我的订单集合中的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'
}
}); 

1 个答案:

答案 0 :(得分:0)

您可以使用Populate Virtuals来实现反向填充。 (猫鼬版本> 4.5.0)

如果是这种情况,请参考上面的链接或https://stackoverflow.com/a/51664307/3210050