10. Atualizando documentos no MongoDB

Página 44

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": "[email protected]" } }
)

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": "[email protected]" } }, o que significa que estamos atualizando o campo 'email' para '[email protected]'.

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.

Now answer the exercise about the content:

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

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

You missed! Try again.

Next page of the Free Ebook:

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