猫鼬:使用对象数组查找所有模型

时间:2020-07-26 19:56:08

标签: node.js mongodb mongoose mongoose-schema

我有这个模特:

const cart = new mongoose.Schema(
  {
    products: [{
        productId: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "Product",
        },
        quantity: {
            type: Number,
            required: true,
            default: 1
        },
        title: String,
        price: Number
    }],
  },
  { timestamps: true });

我如何使用它来查找我的所有产品(来自“模型产品”)。

cart = Cart.find(id);

// inside cart.products
[{productId: 'asvhbajAS13', quantity: 8 },{productId: 'asvhbajAS13', quantity: 2 }]

此后我要修改所有产品,这种方法对吗?

我尝试过的事情:

Product.find({
                '_id': { $in: { cart.products } }
             }, function(err, product) {
              
                })
        });

1 个答案:

答案 0 :(得分:0)

您的代码是正确的,但是如果您使用findOne(),或者您可以再次使用填充而不是查询:

cart = Cart.find(id).populate("products")