架构/模型
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
});
也许来自订单的膳食ObjectId不在Meals系列中?