我有一个具有以下结构的用户架构:
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})....
但遗憾的是它不起作用。有任何想法吗?感谢。
答案 0 :(得分:0)
你试过......
UserModel.find({shoppingCart : product})
如果您在查询中使用实际对象,它会将自身水合成ID并根据该对象ID运行搜索。
因为你有一个Schema类型" Schema.Types.ObjectId"如果你跑
UserModel.find({shoppingCart : product._id})
它会搜索product._id为" String"不是ObjectId。