10.6. Atualizando documentos no MongoDB: Atualização condicional de documentos no MongoDB

Página 50

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!

Now answer the exercise about the content:

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

You missed! Try again.

Next page of the Free Ebook:

5110.7. Atualizando documentos no MongoDB: Utilizando o comando findAndModify 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