【问题标题】:Is it possible to populate nested references in Mongoose?是否可以在 Mongoose 中填充嵌套引用?
【发布时间】: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


    【解决方案1】:

    你可以试试这个,它对你有用。

    Cart.findById(id)
        .populate('items.product')
        .then(record => ... )
        .catch(next);
    

    .populate('items.product')populate 数组中存在的所有购物车项目的 product 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-26
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 2014-10-27
      • 2018-06-07
      • 1970-01-01
      相关资源
      最近更新 更多