Javascript Node.js通过数组中的元素查找文档

Javascript Node.js通过数组中的元素查找文档,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,我有一个具有以下结构的用户模式: new Schema({ email : String, password : String, shoppingCart : [{type : Schema.Types.ObjectId, ref : 'Product'}] }); 我还有一个产品模式,如下所示: new Schema({ title : String, de

我有一个具有以下结构的用户模式:

new Schema({
            email : String,
            password : String,
            shoppingCart : [{type : Schema.Types.ObjectId, ref : 'Product'}]
        });
我还有一个产品模式,如下所示:

new Schema({
            title : String,
            description : String,
            vendorId : String,
            stock : Number
        });
如何搜索购物车中有特定产品的用户? 我两个都试过了

UserModel.find({shoppingCart : product._id})...
and
UserModel.find({'shoppingCart._id' : product._id})....
但不幸的是,它不起作用。有什么想法吗?谢谢。

你试过

UserModel.find({shoppingCart : product})
如果在查询中使用实际对象,它会将自身水合为ID并基于该对象ID运行搜索

因为如果运行

UserModel.find({shoppingCart : product._id})

它将搜索产品。_id为“String”而不是ObjectId。

我认为这应该是一个注释,除非扩展为完整答案。