Обновление документов в MongoDB
В данном уроке мы рассмотрим методы, которые дают возможность обновлять документы в коллекции.
Обновление одного документа
Метод updateOne
обновляет первый
документ, попадающий под фильтр, указанный
первым параметром. Вторым параметром метод
принимает объект, задающий поля для обновления.
Ключом этого объекта служит специальное
имя $set
, в котором указывается
объект с полями и их новыми значениями.
Для примера давайте первому юзеру с возрастом
26
установим зарплату в 900
:
await coll.updateOne({age: 26}, {$set: {salary: 900}});
Найдите первый продукт с ценой 300
и установите ему цену 900
.
Массовое обновление
Метод updateMany
обновляет все
документы, попавшие под фильтр.
Для примера давайте всем юзерам с возрастом
26
установим новую зарплату:
await coll.updateMany({age: 26}, {$set: {salary: 1000}});
Установите всем продуктам цену в 1000
.
Установите всем продуктам цену в 300
и остаток в 10
.
Получение и обновление
Метод findOneAndUpdate
обновляет документ и
возвращает его с предыдущими данными. Пример:
let res = await coll.findOneAndUpdate({age: 25}, {$set: {salary: 333}});
console.log(res);
Получите первый продукт. При получении
добавьте ему поле touch
, в которое
запишется момент времени получения
продукта.