Mongoose在数组中找到2个元素

时间:2017-11-18 20:27:02

标签: node.js mongodb express mongoose

我在当前的用户模型中有这个对象:

bounty:{
 actions:[{
  approved: boolean
  score: number
}]
}

我想查找用户文档ID,但也要查找数组ID并批准:false值来编辑该数组元素。我在尝试:

filter = {_id: paramId $and: 
      [{'bounty.actions._id': paramActionId},
      {'bounty.actions.approved': false}
    ]};  

使用User.findOneAndUpdate(过滤器,... 没有运气。

我做错了什么?

提前致谢。

PD:图像澄清

guides.rubyonrails.org.

1 个答案:

答案 0 :(得分:0)

解决:

filter = {
      _id: b.userId, 
      'local.bounty.actions': { $elemMatch: {
        '_id': b.actionId, 
        'approved': false
      }}
    };