10.6. Atualizando documentos no MongoDB: Atualização condicional de documentos no MongoDB
Página 50 | Ouça em áudio
Na seção 10.6 do nosso curso e-book sobre a criação e manutenção de banco de dados MongoDB do básico ao avançado, vamos abordar um tópico muito importante: a atualização de documentos no MongoDB. Mais especificamente, vamos nos concentrar na atualização condicional de documentos.
Para começar, é importante entender o que significa atualizar um documento no MongoDB. Em termos simples, a atualização de um documento envolve a alteração de um ou mais campos do documento. Isso pode ser feito usando vários métodos, mas o mais comum é o método update().
O método update() requer dois argumentos: o critério de seleção (que identifica quais documentos atualizar) e as atualizações a serem aplicadas. Por exemplo, se quisermos atualizar o campo "nome" de um documento em uma coleção chamada "usuarios", o código seria algo assim:
db.usuarios.update( { nome: "João" }, { $set: { nome: "João Silva" } } )
Este código procura na coleção "usuarios" por um documento cujo campo "nome" é "João" e altera o valor desse campo para "João Silva".
Porém, e se quisermos fazer uma atualização condicional? Por exemplo, se quisermos atualizar o campo "nome" apenas se o campo "idade" for maior que 18? Isso é o que a atualização condicional de documentos no MongoDB permite fazer.
Para realizar uma atualização condicional, usamos a mesma estrutura básica do método update(), mas adicionamos uma condição ao critério de seleção. Por exemplo:
db.usuarios.update( { nome: "João", idade: { $gt: 18 } }, { $set: { nome: "João Silva" } } )
Neste exemplo, a atualização só será aplicada se o documento tiver um campo "nome" igual a "João" e um campo "idade" maior que 18. Se essas condições não forem atendidas, o documento não será atualizado.
Existem muitos operadores que podem ser usados para criar condições no MongoDB. Alguns dos mais comuns incluem $gt (maior que), $lt (menor que), $gte (maior ou igual a), $lte (menor ou igual a), $eq (igual a), $ne (diferente de), $in (dentro de um array de valores), e $nin (não dentro de um array de valores).
Além disso, é possível combinar várias condições usando operadores lógicos como $and (e), $or (ou), $not (não) e $nor (nem). Por exemplo, o seguinte código atualiza o campo "nome" apenas se o campo "idade" for maior que 18 e o campo "cidade" for igual a "São Paulo":
db.usuarios.update( { $and: [ { idade: { $gt: 18 } }, { cidade: "São Paulo" } ] }, { $set: { nome: "João Silva" } } )
Em resumo, a atualização condicional de documentos no MongoDB é uma ferramenta poderosa que permite fazer alterações em documentos com base em critérios específicos. Isso torna o MongoDB uma opção flexível e eficiente para o gerenciamento de bancos de dados.
Na próxima seção do nosso curso e-book, vamos explorar outros aspectos da atualização de documentos no MongoDB, incluindo a atualização de vários documentos de uma vez e a criação de novos campos durante a atualização. Fique atento!
Agora responda o exercício sobre o conteúdo:
Você acertou! Parabéns, agora siga para a próxima página
Você errou! Tente novamente.
Próxima página do Ebook Gratuito: