Atualizar documentos é uma tarefa comum quando se trabalha com bancos de dados. No MongoDB, essa tarefa é realizada usando operadores de atualização. Neste capítulo, vamos explorar como trabalhar com operadores de atualização no MongoDB.
Antes de mergulhar nos detalhes, é importante entender o que são operadores de atualização. Em termos simples, os operadores de atualização são instruções que o MongoDB usa para modificar os valores dos documentos em uma coleção. Eles são usados em conjunto com o método update() ou findAndModify() para alterar os dados em um documento.
Operadores de Atualização no MongoDB
No MongoDB, temos vários operadores de atualização disponíveis. Vamos começar com os mais comuns:
- $set: Este operador substitui o valor de um campo por um novo valor. Se o campo não existir no documento, $set irá adicionar um novo campo com o valor especificado.
- $unset: Este operador remove um campo de um documento.
- $inc: Este operador incrementa o valor de um campo por um valor especificado. Se o campo não existir, $inc irá criar um novo campo com o valor especificado.
- $mul: Este operador multiplica o valor de um campo por um valor especificado.
- $rename: Este operador renomeia um campo.
Atualizando Documentos no MongoDB
Para atualizar um documento no MongoDB, usamos o método update(). O método update() aceita três argumentos: o critério de seleção, o operador de atualização e um objeto de opções. O critério de seleção é usado para selecionar o documento a ser atualizado. O operador de atualização é usado para especificar a modificação a ser feita. O objeto de opções é usado para especificar opções adicionais, como se a operação deve ser uma atualização multi-documentos ou uma operação de upsert.
Por exemplo, para atualizar o campo "nome" de um documento na coleção "usuarios", você pode usar o seguinte código:
db.usuarios.update( { _id: 1 }, { $set: { nome: "Novo Nome" } } )
Este código irá procurar o documento na coleção "usuarios" onde o campo "_id" é igual a 1 e atualizará o campo "nome" para "Novo Nome".
Trabalhando com Operadores de Atualização
Vamos ver como podemos usar alguns dos operadores de atualização mencionados acima.
Para usar o operador $set, você pode fazer o seguinte:
db.usuarios.update( { _id: 1 }, { $set: { idade: 30 } } )
Este código irá atualizar o campo "idade" para 30 no documento onde o campo "_id" é igual a 1.
Para usar o operador $unset, você pode fazer o seguinte:
db.usuarios.update( { _id: 1 }, { $unset: { idade: "" } } )
Este código irá remover o campo "idade" no documento onde o campo "_id" é igual a 1.
Para usar o operador $inc, você pode fazer o seguinte:
db.usuarios.update( { _id: 1 }, { $inc: { idade: 1 } } )
Este código irá incrementar o valor do campo "idade" em 1 no documento onde o campo "_id" é igual a 1.
Para usar o operador $mul, você pode fazer o seguinte:
db.usuarios.update( { _id: 1 }, { $mul: { idade: 2 } } )
Este código irá multiplicar o valor do campo "idade" por 2 no documento onde o campo "_id" é igual a 1.
Para usar o operador $rename, você pode fazer o seguinte:
db.usuarios.update( { _id: 1 }, { $rename: { "idade": "novaIdade" } } )
Este código irá renomear o campo "idade" para "novaIdade" no documento onde o campo "_id" é igual a 1.
Em resumo, os operadores de atualização no MongoDB são ferramentas poderosas que nos permitem modificar os dados em nossos documentos de maneira eficiente e eficaz. Ao dominar esses operadores, você será capaz de manipular seus dados no MongoDB com facilidade e precisão.