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。我认为这应该是一个注释,除非扩展为完整答案。