Article image Updating documents in MongoDB

10. Updating documents in MongoDB

Page 44 | Listen in audio

Updating documents in MongoDB is a crucial task to keep your data up-to-date and relevant. In MongoDB, you can update documents using the update() command or the findAndModify() command. Both commands allow you to update one or more documents in a collection.

The update() command is the most common method for updating documents in MongoDB. It has the following syntax: db.collection.update(query, update, options). Here, 'query' is the condition that determines which documents to update. 'Update' is the modification to be made and 'options' are various options you can use to customize the command's behavior.

For example, if you have a collection called 'users' and you want to update the 'email' field for a specific user, you can do the following:

db.users.update(
   { "name": "John Doe" },
   { $set: { "email": "[email protected]" } }
)

In this example, the 'query' is { "name": "John Doe" }, which means we are looking for a document where the 'name' field equals 'John Doe'. The 'update' is { $set: { "email": "[email protected]" } }, which means we are updating the 'email' field to '[email protected]'.

The findAndModify() command is another method for updating documents in MongoDB. It has the following syntax: db.collection.findAndModify(query, sort, update, options). Here, 'query' is the condition that determines which documents to update, 'sort' determines the order of documents, 'update' is the modification to be made, and 'options' are various options you can use to customize the command's behavior.

For example, if you have a collection called 'orders' and you want to update the 'status' field for the oldest order, you can do the following:

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

In this example, the 'query' is { "status": "pending" }, which means we are looking for a document where the 'status' field equals 'pending'. The 'sort' is { "date": 1 }, which means we are sorting the documents by date in ascending order. The 'update' is { $set: { "status": "processed" } }, which means we are updating the 'status' field to 'processed'.

In MongoDB, you can also update multiple documents at once. To do this, you can use the 'multi' option with the update() command. For example, if you want to update the 'status' field of all pending orders, you can do the following:

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

In this example, the 'query' is { "status": "pending" }, which means we are looking for documents where the 'status' field equals 'pending'. The 'update' is { $set: { "status": "processed" } }, which means we are updating the 'status' field to 'processed'. The 'multi' option is set to true, which means we are updating all documents that match the query.

In short, updating documents in MongoDB is an essential task that allows you to keep your data up-to-date and relevant. MongoDB offers powerful commands such as update() and findAndModify() that allow you to update one or more documents in a collection in an efficient and flexible way.

Now answer the exercise about the content:

Which of the following commands is used to update documents in MongoDB and what is its syntax?

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

You missed! Try again.

Article image Updating Documents in MongoDB: Introduction to Updating Documents in MongoDB

Next page of the Free Ebook:

45Updating Documents in MongoDB: Introduction to Updating Documents in MongoDB

3 minutes

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