Atualizar documentos no MongoDB é uma tarefa crucial para manter seus dados atualizados e relevantes. No MongoDB, você pode atualizar documentos usando o comando update() ou o comando findAndModify(). Ambos os comandos permitem que você atualize um ou mais documentos de uma coleção.

O comando update() é o método mais comum para atualizar documentos no MongoDB. Ele tem a seguinte sintaxe: db.collection.update(query, update, options). Aqui, 'query' é a condição que determina quais documentos atualizar. 'Update' é a modificação a ser feita e 'options' são várias opções que você pode usar para personalizar o comportamento do comando.

Por exemplo, se você tem uma coleção chamada 'users' e deseja atualizar o campo 'email' de um usuário específico, você pode fazer o seguinte:

db.users.update(
   { "name": "John Doe" },
   { $set: { "email": "john.doe@example.com" } }
)

Neste exemplo, a 'query' é { "name": "John Doe" }, o que significa que estamos procurando um documento onde o campo 'name' é igual a 'John Doe'. A 'update' é { $set: { "email": "john.doe@example.com" } }, o que significa que estamos atualizando o campo 'email' para 'john.doe@example.com'.

O comando findAndModify() é outro método para atualizar documentos no MongoDB. Ele tem a seguinte sintaxe: db.collection.findAndModify(query, sort, update, options). Aqui, 'query' é a condição que determina quais documentos atualizar, 'sort' determina a ordem dos documentos, 'update' é a modificação a ser feita e 'options' são várias opções que você pode usar para personalizar o comportamento do comando.

Por exemplo, se você tem uma coleção chamada 'orders' e deseja atualizar o campo 'status' do pedido mais antigo, você pode fazer o seguinte:

db.orders.findAndModify(
   { query: { "status": "pending" }, sort: { "date": 1 } },
   { $set: { "status": "processed" } }
)

Neste exemplo, a 'query' é { "status": "pending" }, o que significa que estamos procurando um documento onde o campo 'status' é igual a 'pending'. O 'sort' é { "date": 1 }, o que significa que estamos ordenando os documentos pela data em ordem crescente. A 'update' é { $set: { "status": "processed" } }, o que significa que estamos atualizando o campo 'status' para 'processed'.

No MongoDB, você também pode atualizar vários documentos de uma vez. Para fazer isso, você pode usar a opção 'multi' com o comando update(). Por exemplo, se você deseja atualizar o campo 'status' de todos os pedidos pendentes, você pode fazer o seguinte:

db.orders.update(
   { "status": "pending" },
   { $set: { "status": "processed" } },
   { multi: true }
)

Neste exemplo, a 'query' é { "status": "pending" }, o que significa que estamos procurando documentos onde o campo 'status' é igual a 'pending'. A 'update' é { $set: { "status": "processed" } }, o que significa que estamos atualizando o campo 'status' para 'processed'. A opção 'multi' é definida como verdadeira, o que significa que estamos atualizando todos os documentos que correspondem à consulta.

Em resumo, a atualização de documentos no MongoDB é uma tarefa essencial que permite manter seus dados atualizados e relevantes. O MongoDB oferece comandos poderosos, como update() e findAndModify(), que permitem que você atualize um ou mais documentos de uma coleção de maneira eficiente e flexível.

Agora responda o exercício sobre o conteúdo:

Qual dos seguintes comandos é usado para atualizar documentos no MongoDB e qual é a sua sintaxe?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Atualizando documentos no MongoDB: Introdução à atualização de documentos no MongoDB

Próxima página do Ebook Gratuito:

45Atualizando documentos no MongoDB: Introdução à atualização de documentos 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