В 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 позволяет обновлять несколько документов одновременно и предоставляет гибкость для создания разнообразных критериев обновления.