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.

Imagem do artigo Atualizando documentos no MongoDB: Utilizando o comando findAndModify no MongoDB

Próxima página do Ebook Gratuito:

51Atualizando documentos no MongoDB: Utilizando o comando findAndModify no MongoDB

3 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