【问题标题】:Mongoose updaes only first element in the list [duplicate]猫鼬只更新列表中的第一个元素[重复]
【发布时间】:2019-01-09 09:51:35
【问题描述】:

我在 Nodejs 中使用 mongoose。我有一个奇怪的问题,当我尝试通过 id 更新 DB 中的对象时,只有第一个 'id' 被更新。这是我的代码:

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

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

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

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

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

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

    【讨论】:

    • 成功了!谢谢
    猜你喜欢
    • 2011-08-24
    • 1970-01-01
    • 2020-10-22
    • 2017-02-10
    • 2018-05-27
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 2015-12-03
    相关资源
    最近更新 更多