【问题标题】:populate nested array of objects mongoose填充对象的嵌套数组 mongoose
【发布时间】:2019-09-23 17:40:45
【问题描述】:

我一直在尝试在我的购物车中填充产品。 我的购物车型号是 -

const ProductSchema = new mongoose.Schema({
  product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product'},
  quantity: Number
});
const CartSchema = new mongoose.Schema({
  userId: mongoose.Schema.Types.ObjectId,
  products: [ProductSchema]
});

我正在尝试像这样获得购物车价值 -

let getCart = async (userId) => {
  let res = await Cart.find({ userId: userId }).populate('products.product')
  return res;
};

输出 -

{
  userId: xyz,
  products:[
    product: null,
    quantity:1
  ]
}

预期结果 -

{ 
  userId: xyz,
  products:[
    product: {
      name: 'product name', 
      description:'',
      ...
    },
    quantity:1
  ]
}

【问题讨论】:

标签: javascript node.js mongodb mongoose populate


【解决方案1】:

您只需填充products 并选择product 以从填充的数组中显示。

【讨论】:

    【解决方案2】:

    我猜只填充产品就足够了。

    let getCart = async (userId) => {
      let res = await Cart.find({ userId: userId }).populate('products')
      return res;
    };
    

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 2015-03-26
      • 2017-01-01
      • 1970-01-01
      • 2020-06-07
      • 2019-12-06
      • 2022-11-10
      • 2018-06-07
      相关资源
      最近更新 更多