如果用户未更新(由于条件),findOneAndUpdate会返回null

时间:2016-12-26 12:47:26

标签: node.js mongodb mongoose

如果您阅读了我的代码,那么如果请求提供的ID与文档的Friends数组中的元素匹配(由于{{1}),您将看到用户未更新运营商)。因此,如果找到用户但未更新,则返回的结果(myDoc,otherDoc)为null。我想仍然得到这两个文件是否已经更新。我检查了mongoose文档,但似乎无法找到解决方案。

$not

编辑:是否有某种mongoose插件对此有用? ....

1 个答案:

答案 0 :(得分:0)

如果你想在findOneAndUpdate后添加一个名为new的参数并将其设置为true,那么可以取回更新后的文档,例如。

User.findOneAndUpdate( {
  id: req.body.myId, Friends: { $not: { $elemMatch: { id: req.body.id }}}
},{
  $addToSet:{Friends:{ id: req.body.id, gender: req.body.gender,emoji: res.locals.myEmoji}}
}, {
  new: true
}),