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

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.

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

Próxima página do Ebook Gratuito:

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

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto