MongoDB然后查找查询嵌套文档

时间:2017-07-29 10:49:27

标签: mongodb mongoose

我正在尝试通过_id创建一个“喜欢”的路由,然后在user.post内查询一个对象ID,到目前为止我试过这个:

User.find({
    "_id": logged_user,
    "posts_id": {
        $elemMatch: req.body.id
    }
}, (err, data) => {
    if (err) {
        res.json(err)
    }
    console.log(data);
})

架构:

 username: String,
 posts:[{
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User'
 }]

它返回一个空数组'[]',如果存在,我怎么能返回false?

1 个答案:

答案 0 :(得分:2)

您正在使用$ elemMatch错误。它需要一个对象。这样做:

User.find({"_id":logged_user,"posts":{$elemMatch: {$eq : req.body.id}}},(err,data)=>{ 

if(err){
res.json(err)
}
console.log(data);
)