【发布时间】:2017-06-17 06:50:26
【问题描述】:
我是 MongoDB 新手,试图将另一个集合中的数据填充到响应中。最简单的例子如下:
const CartSchema = new Schema({
items: [{
product: { type: Schema.Types.ObjectId, ref: 'product' },
qty: Number
}],
...
});
当关系位于根级别时,我可以使用.populate(),但在上面的示例中,我有一个具有自己属性的项目数组,例如qty,以及对产品的 _id 引用。我想将产品对象填充到每个汽车项目中,但似乎找不到任何关于“正确”方法的示例。
Cart.findById(id)
.populate('products') // <-- something like this
.then(record => ... )
.catch(next);
我知道在找到购物车记录并手动扩展初始对象后,我可能可以对产品集合执行单独的.find(),但我希望有一种方法可以在原始查询中填充数据?
【问题讨论】:
标签: mongodb mongoose mongoose-populate