4

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

1 回答 1

1

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

对于案例,请参考官方文档作为上面的链接或https://stackoverflow.com/a/51664307/3210050

于 2018-08-03T02:05:42.710 回答