首页 > 解决方案 > 如何使用猫鼬的“包含”

问题描述

我想检查我的数据库,其中包含“喜欢”字段作为数组类型,所以我在猫鼬文档中遇到了这个,但我实际上并不知道如何使用它: https://mongoosejs.com/docs/api/array。 html#mongoosearray_MongooseArray-includes

这是我刚刚尝试过的

Products.find({_id:uniqueId}, {$includes:{likes:req.user._id}}, function(err, result){......}) 

错误

标签: javascriptnode.jsmongodbmongoose

解决方案


到你的形象:

抱怨是因为您使用了Products.find. 当您传入两个对象时,它期望第二个对象是一个投影。Projection 从返回的文档中选择字段,只获取您需要的字段。

尝试使用 uniqueId 获取产品(我希望是 productId ...)。

Product.findById(productId, function (err, result) { // callback })

在回调中,您可以检查您的 userId 是否包含在 likes 数组中。


推荐阅读