mongodb findOne in Object

时间:2018-04-22 22:54:36

标签: mongodb object

我一直在尝试使用MongoDB findOne方法,但我不知道如何使用它。问题是我有一个shema:

const CartSchema = mongoose.Schema({
    user_id: { type: String },
    products: [{
        prod_id: { type: String },
        qty: { type: Number }
    }]
});

这是我的疑问:

ShoppingCart.findOne(
    { $and: [
       { user_id: Item.idUser },
       { products: [{ prod_id: Item.idProd }] }  // my problem is here
    ] },
    callback    
);

我需要在{products}对象中找到这些数据,但我不知道如何引用这个位置

1 个答案:

答案 0 :(得分:1)

您可以使用$elemMatch。例如

   ShoppingCart.findOne(
{ $and: [
   { user_id: Item.idUser },
   { products:  {$elemMatch : {prod_id : "ID"}} }
] },
callback    
);

详细了解here