10.3. Atualizando documentos no MongoDB: Compreendendo o comando updateMany no MongoDB

Página 47

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.

Now answer the exercise about the content:

O que o comando updateMany no MongoDB permite fazer?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

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

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text