Capa do Ebook gratuito Criação e manutenção de banco de dados MongoDB do básico ao avançado

Criação e manutenção de banco de dados MongoDB do básico ao avançado

3

(2)

88 páginas

Atualizando documentos no MongoDB: Compreendendo o comando updateMany no MongoDB

Capítulo 47

Tempo estimado de leitura: 3 minutos

Audio Icon

Ouça em áudio

0:00 / 0:00

O MongoDB é um banco de dados NoSQL orientado a documentos, o que significa que ele gerencia coleções de documentos JSON-like. A atualização de documentos no MongoDB é uma tarefa comum e importante que os desenvolvedores precisam realizar. Entre os vários comandos de atualização disponíveis no MongoDB, o comando updateMany é um dos mais úteis e frequentemente usados. Este comando é usado para atualizar vários documentos que correspondem aos critérios especificados.

Compreendendo o comando updateMany

O comando updateMany é um método do MongoDB que permite atualizar vários documentos dentro de uma coleção. Este comando modifica todos os documentos que correspondem aos critérios de consulta fornecidos. A sintaxe básica do comando updateMany é a seguinte:

db.collection.updateMany(
   ,
   ,
   {
     upsert: ,
     writeConcern: 
   }
)

Onde:

  • filter é a condição de correspondência que determina quais documentos serão atualizados.
  • update é o modificador de atualização que define as mudanças a serem feitas nos documentos.
  • upsert é uma opção que, se definida como true, cria um novo documento quando nenhum documento corresponde à condição de consulta.
  • writeConcern é uma opção que controla a garantia de escrita.

Exemplo de uso do comando updateMany

Continue em nosso aplicativo

Você poderá ouvir o audiobook com a tela desligada, ganhar gratuitamente o certificado deste curso e ainda ter acesso a outros 5.000 cursos online gratuitos.

ou continue lendo abaixo...
Download App

Baixar o aplicativo

Suponha que temos uma coleção chamada 'students' com documentos que contêm informações sobre estudantes, incluindo 'name', 'age' e 'grade'. Se quisermos atualizar a 'grade' de todos os estudantes com 'age' maior que 18 para 'A', podemos usar o comando updateMany da seguinte maneira:

db.students.updateMany(
   { "age": { $gt: 18 } },
   { $set: { "grade": "A" } }
)

Este comando irá percorrer a coleção 'students', encontrar todos os documentos onde 'age' é maior que 18 e atualizar o campo 'grade' para 'A' para esses documentos.

Resultado da Atualização

Ao executar o comando updateMany, o MongoDB retorna um objeto que contém informações sobre como a operação foi realizada. Este objeto inclui o número de documentos correspondidos, o número de documentos modificados, e se um novo documento foi upserted. Aqui está um exemplo de como pode parecer o resultado:

{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }

Isso significa que a operação foi bem-sucedida ('acknowledged': true), três documentos correspondiam à condição de consulta ('matchedCount': 3) e todos os três documentos foram modificados com sucesso ('modifiedCount': 3).

Conclusão

O comando updateMany é uma ferramenta poderosa no MongoDB que permite atualizar vários documentos de uma só vez. Ele fornece flexibilidade para modificar documentos com base em critérios de consulta complexos e também suporta opções como upsert e writeConcern para um controle mais granular sobre a operação de atualização. Compreender e usar corretamente o comando updateMany é essencial para gerenciar eficientemente os dados no MongoDB.

Agora responda o exercício sobre o conteúdo:

O que o comando updateMany no MongoDB permite fazer?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

O comando updateMany no MongoDB é usado para atualizar vários documentos dentro de uma coleção de acordo com os critérios especificados. Ele modifica todos os documentos que correspondem ao filtro fornecido.

Próximo capitúlo

Atualizando documentos no MongoDB: Trabalhando com operadores de atualização no MongoDB

Arrow Right Icon
Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.