АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
⊗ndMgBsDU 13 of 29 menu
Долгожданный Бесплатный курс по выкладке сайта на хостинг. МЫ УЖЕ НАЧАЛИ! Присоединяйтесь к нам!

Обновление документов в 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, в которое запишется момент времени получения продукта.