一次更新猫鼬中的多个文档

时间:2020-03-16 19:27:50

标签: node.js mongodb mongoose nosql

我有一个用户文档数组,每个用户都有一个数字的followers属性,我只想将此属性加1,然后立即更新数据库中的所有这些用户文档。

更多详细信息:

在请求中,我有一个用户ID数组,我使用这些ID进行查询以获得一个用户文档数组。

const users = await User.find({"_id": {$in: req.body.ids}});

每个用户文档都有一个称为Followers的属性,该属性是一个数字。

const userSchema = new mongoose.Schema({

  // other attributes...........,

  followers: {
    type: Number,
    default: 0
  }
});

我想增加用户数组中每个用户的关注者数量,并立即更新数据库,而无需发送单独更新每个用户的请求,这有可能吗?

预先感谢

1 个答案:

答案 0 :(得分:2)

您可以使用$inc并运行updateMany

await User.updateMany({"_id": {$in: req.body.ids}}, { $inc: { followers: 1 } });