一次性更新多个mongoose文档

3

我有一个用户文档的数组,每个用户都有一个粉丝属性,其值为数字。我只想将此属性加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
  }
});

我想要在用户数组中逐个增加关注者数量并一次性更新数据库,而不需要单独发送更新请求,这是否可能?
提前感谢。

2
你能分享更多细节吗?请展示文档和期望的输出。 - mickl
1个回答

3

您可以使用$inc和运行updateMany来更新内容:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接