我一直在尝试使用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}对象中找到这些数据,但我不知道如何引用这个位置
答案 0 :(得分:1)
您可以使用$elemMatch
。例如
ShoppingCart.findOne(
{ $and: [
{ user_id: Item.idUser },
{ products: {$elemMatch : {prod_id : "ID"}} }
] },
callback
);
详细了解here