Поделиться через


Обновление данных в Cosmos DB для MongoDB

Одной из самых простых операций является обновление данных в коллекцию. В этом руководстве мы рассмотрим все, что необходимо знать об обновлении данных с помощью оболочки Mongo (Mongosh).

Использование метода updateOne()

Метод updateOne() обновляет первый документ, соответствующий указанному фильтру. Этот метод принимает два параметра:

filter: документ, указывающий критерии для обновления. Фильтр используется для сопоставления документов в коллекции, которые должны быть обновлены. Документ фильтра должен быть допустимым документом запроса.

update: документ, указывающий операции обновления, выполняемые с соответствующими документами. Документ обновления должен быть допустимым документом обновления.

db.collection.updateOne(
   <filter>,
   <update>
)

Например, чтобы обновить имя клиента с _id равным 1, можно использовать следующую команду:

db.customers.updateOne(
   { _id: 1 },
   { $set: { name: "Jane Smith" } }
)

В приведенном выше примере db.customers — имя коллекции, { _id: 1 } — фильтр, соответствующий первому документу, _id которого равно 1, а { $set: { name: "Jane Smith" } } — операция обновления, которая задает поле имени сопоставленного документа как "Jane Smith".

Можно также использовать другие операторы обновления, такие как $inc, $mul, $rename, $unset и т. д. для обновления данных.

Метод updateMany()

Метод updateMany() обновляет все документы, соответствующие указанному фильтру. Этот метод принимает два параметра:

filter: документ, указывающий критерии для обновления. Фильтр используется для сопоставления документов в коллекции, которые должны быть обновлены. Документ фильтра должен быть допустимым документом запроса. update: документ, указывающий операции обновления, выполняемые с соответствующими документами. Документ обновления должен быть допустимым документом обновления.

db.collection.updateMany(
   <filter>,
   <update>
)

Например, чтобы обновить имена всех клиентов, проживающих в "New York", можно использовать следующую команду:

db.customers.updateMany(
   { city: "New York" },
   { $set: { name: "Jane Smith" } }
)

В приведенном выше примере db.customers — имя коллекции, { city: "New York" } — фильтр, который соответствует всем документам с полем города, равным "New York", а { $set: { name: "Jane Smith" } } — это операция обновления, которая задает для поля имени всех сопоставленных документов значение "Jane Smith".

Можно также использовать другие операторы обновления, такие как $inc, $mul, $rename, $unset и т. д. для обновления данных.

Дальнейшие действия