只是一个简单的查询,例如在模型中使用双引用。
架构/模型
var OrderSchema = new Schema({
user: {
type : Schema.Types.ObjectId,
ref : 'User',
required: true
},
meal: {
type : Schema.Types.ObjectId,
ref : 'Meal',
required: true
},
});
var OrderModel = db.model('Order', OrderSchema);
查询
OrderModel.find()
.populate('user') // works
.populate('meal') // dont works
.exec(function (err, results) {
// callback
});
我已经尝试过类似的东西
.populate('user meal')
.populate(['user', 'meal'])
实际上,只有人口之一在工作。
那么,如何让两个人口工作呢?
最佳答案
您已经在使用以下正确的语法:
OrderModel.find()
.populate('user')
.populate('meal')
.exec(function (err, results) {
// callback
});
也许订单中的
meal
ObjectId不在Meals
集合中?