Как сделать updateMany в Mongoose?

В Mongoose, библиотеке для работы с MongoDB в Node.js, существует метод updateMany, который позволяет обновлять несколько документов одновременно.

Для использования метода updateMany необходимо иметь модель Mongoose, соответствующую коллекции, которую мы хотим обновить. Модель Mongoose представляется с помощью класса mongoose.Model, который можно создать с помощью вызова mongoose.model.

Пример создания модели:

const mongoose = require('mongoose');

const schema = new mongoose.Schema({
  name: String,
  age: Number
});

const User = mongoose.model('User', schema);

Теперь, чтобы выполнить updateMany, нужно вызвать его на объекте модели Mongoose.

Пример использования updateMany:

User.updateMany({ age: { $lt: 30 } }, { age: 30 })
  .then((result) => {
    console.log(result);
  })
  .catch((error) => {
    console.error(error);
  });

В этом примере мы обновляем все документы в коллекции User, у которых значение поля age меньше 30, устанавливая значение age равным 30. Результатом будет объект с информацией о количестве обновленных документов.

Также можно использовать операторы MongoDB, такие как $in, $lt, $gt и др., чтобы создать более сложные критерии обновления.

Таким образом, метод updateMany в Mongoose позволяет обновлять несколько документов одновременно и предоставляет гибкость для создания разнообразных критериев обновления.