首页 > 解决方案 > Mongoose 仅​​更新列表中的第一个元素

问题描述

我在 Nodejs 和猫鼬一起工作。我有一个奇怪的问题,当我尝试通过 id 更新 DB 中的对象时,只有第一个 'id' 被更新。这是我的代码:

user.update({'_id': { $in: req.body.ids}}, 
{ $addToSet: { forms: { $each: req.body.forms} } })

我检查了 ids 数组,其中有 3 个,但我得到了更新的响应:

{ n: 1,
nModified: 1,
...

标签: node.jsmongodbmongoose

解决方案


用户多:更新方法的真实选项。默认情况下,仅更新查询找到的第一个文档。

user.update({'_id': { $in: req.body.ids}}, 
{ $addToSet: { forms: { $each: req.body.forms} } }, {multi: true})

推荐阅读