MongoDB Update Documents
MongoDB Update Documents
In MongoDB, updating documents in a collection is done using the updateOne, updateMany, and replaceOne methods. These methods allow you to modify one or more documents within a collection based on specified criteria.
Syntax
db.collection.updateOne(filter, update, options)
db.collection.updateMany(filter, update, options)
db.collection.replaceOne(filter, replacement, options)
The updateOne method updates a single document that matches the filter, updateMany updates multiple documents, and replaceOne replaces an entire document.
Example MongoDB Update Documents
Let's look at some examples of how to update documents in the programGuru collection in MongoDB:
1. Update a Single Document
db.programGuru.updateOne(
{ name: "John Doe" },
{ $set: { age: 31 } }
)
This command updates the age field to 31 for the document where the name is John Doe.
2. Update Multiple Documents
db.programGuru.updateMany(
{ age: { $gt: 25 } },
{ $set: { status: "Active" } }
)
This command updates the status field to Active for all documents where the age is greater than 25.
3. Replace a Document
db.programGuru.replaceOne(
{ name: "Jane Smith" },
{ name: "Jane Smith", age: 26, email: "jane.smith@example.com", status: "Active" }
)
This command replaces the entire document where the name is Jane Smith with the new document.
Full Example
Let's go through a complete example that includes switching to a database, creating a collection, inserting documents, updating them, and verifying the updates.
Step 1: Switch to a Database
This step involves switching to a database named myDatabase.
use myDatabase
In this example, we switch to the myDatabase database.
Step 2: Create a Collection
This step involves creating a new collection named programGuru in the myDatabase database.
db.createCollection("programGuru")
Here, we create a collection named programGuru.
Step 3: Insert Documents into the Collection
This step involves inserting documents into the programGuru collection.
db.programGuru.insertMany([
{ name: "John Doe", age: 30, email: "john.doe@example.com" },
{ name: "Jane Smith", age: 25, email: "jane.smith@example.com" },
{ name: "Jim Brown", age: 35, email: "jim.brown@example.com" }
])
We insert multiple documents into the programGuru collection.
Step 4: Update Documents in the Collection
This step involves updating documents in the programGuru collection.
Update a Single Document
db.programGuru.updateOne(
{ name: "John Doe" },
{ $set: { age: 31 } }
)
We update the age field to 31 for the document where the name is John Doe.
Verify the Update
db.programGuru.find({ name: "John Doe" }).pretty()
This command retrieves the document where the name is John Doe to verify the update.
Update Multiple Documents
db.programGuru.updateMany(
{ age: { $gt: 25 } },
{ $set: { status: "Active" } }
)
We update the status field to Active for all documents where the age is greater than 25.
Verify the Update
db.programGuru.find({ age: { $gt: 25 } }).pretty()
This command retrieves all documents where the age is greater than 25 to verify the update.
Replace a Document
db.programGuru.replaceOne(
{ name: "Jane Smith" },
{ name: "Jane Smith", age: 26, email: "jane.smith@example.com", status: "Active" }
)
We replace the entire document where the name is Jane Smith with the new document.
Verify the Replacement
db.programGuru.find({ name: "Jane Smith" }).pretty()
This command retrieves the document where the name is Jane Smith to verify the replacement.
Conclusion
The MongoDB update documents operation is crucial for modifying data within collections. Understanding how to update single and multiple documents, as well as replace entire documents, is essential for effective data management in MongoDB.