Atualizando dados no Cosmos DB para MongoDB

Importante

Você está procurando migrar um aplicativo MongoDB existente ou usar os recursos MQL (MongoDB Query Language)? Considere Azure DocumentDB.

Você está procurando uma solução de banco de dados para cenários de alta escala com um contrato de nível de serviço (SLA) de disponibilidade de 99.999%, dimensionamento automático instantâneo e failover automático em várias regiões? Considere Azure Cosmos DB para NoSQL.

Uma das operações mais básicas é atualizar os dados em uma coleção. Neste guia, abordaremos tudo o que você precisa saber sobre a atualização de dados usando o Mongo Shell (Mongosh).

Usando o método updateOne()

O método updateOne() atualiza o primeiro documento que corresponde a um filtro especificado. O método usa dois parâmetros:

filter: um documento que especifica os critérios para a atualização. O filtro é usado para corresponder aos documentos da coleção que devem ser atualizados. O documento de filtro deve ser um documento de consulta válido.

update: um documento que especifica as operações de atualização a serem executadas nos documentos correspondentes. O documento de atualização deve ser um documento de atualização válido.

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

Por exemplo, para atualizar o nome de um cliente com _id igual a 1, você pode usar o seguinte comando:

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

No exemplo acima, db.clients é o nome da coleção, { _id: 1 } é o filtro que corresponde ao primeiro documento que tem _id igual a 1 e { $set: { name: "Jane Smith" } } é a operação de atualização que define o campo de nome do documento correspondente como "Jane Smith".

Você também pode usar outros operadores de atualização como $inc, $mul, $rename, $unset etc. para atualizar os dados.

Método updateMany()

O método updateMany() atualiza todos os documentos que correspondem a um filtro especificado. O método usa dois parâmetros:

filter: um documento que especifica os critérios para a atualização. O filtro é usado para corresponder aos documentos da coleção que devem ser atualizados. O documento de filtro deve ser um documento de consulta válido. update: um documento que especifica as operações de atualização a serem executadas nos documentos correspondentes. O documento de atualização deve ser um documento de atualização válido.

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

Por exemplo, para atualizar o nome de todos os clientes que vivem em "Nova York", você pode usar o seguinte comando:

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

No exemplo acima, db.customers é o nome da coleção, { city: "New York" } é o filtro que corresponde a todos os documentos que têm campo de cidade igual a "New York" e { $set: { name: "Jane Smith" } } é a operação de atualização que define o campo de nome de todos os documentos correspondentes como "Jane Smith".

Você também pode usar outros operadores de atualização, como $inc, $mul, $rename, $unset, etc. para atualizar os dados.

Passos seguintes

  • Saiba como usar o Studio 3T com o Azure Cosmos DB para MongoDB.
  • Saiba como usar o Robo 3T com o Azure Cosmos DB para MongoDB.
  • Explore amostras do MongoDB com o Azure Cosmos DB para MongoDB.
  • Tentando fazer o planejamento de capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre seu cluster de banco de dados existente para planejamento de capacidade.