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

← →
↑