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


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

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

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

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

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

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

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" } — это операция обновления, которая задает поле имени соответствующего документа в "Джейн Смит".

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

Метод updateMany()

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

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

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

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

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

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

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

Следующие шаги