Обновление нескольких документов в пн goose одновременно - PullRequest
1 голос
/ 16 марта 2020

У меня есть массив пользовательских документов, у каждого пользователя есть атрибут последователей, который является числом, я просто хочу увеличить этот атрибут на 1, а затем сразу обновить все эти пользовательские документы в БД.

Подробнее :

В запросе у меня есть массив пользовательских идентификаторов, я запрашиваю эти идентификаторы, чтобы получить массив пользовательских документов.

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

каждый пользовательский документ имеет атрибут, называемый последователями, который число.

const userSchema = new mongoose.Schema({

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

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

Я хочу увеличить число подписчиков для каждого пользователя в массиве пользователей и обновить БД сразу, не отправляя запрос на обновление каждого пользователя отдельно. Возможно ли это?

Заранее спасибо

1 Ответ

1 голос
/ 16 марта 2020

Вы можете использовать $ в c и запустить updateMany:

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