MongoDB Replace One Document
MongoDB Replace One Document
In MongoDB, the replaceOne
operation is used to replace a single document in a collection based on a specified filter. This method is essential for updating documents within MongoDB collections while maintaining the same _id
field.
Syntax
db.collection.replaceOne(filter, replacement, options)
The replaceOne
method takes a filter
to specify which document to replace, a replacement
document, and an optional options
parameter to customize the operation.
Example MongoDB Replace One Document
Let's look at some examples of how to use the replaceOne
method in the programGuru
collection in MongoDB:
1. Replace a Single Document
db.programGuru.replaceOne(
{ name: "John Doe" },
{ name: "John Doe", age: 31, email: "john.doe@newdomain.com" }
)
This command finds a document where the name
is John Doe
and replaces it with a new document.
2. Replace a Document with Options
db.programGuru.replaceOne(
{ name: "Jane Smith" },
{ name: "Jane Smith", age: 26, email: "jane.smith@newdomain.com" },
{ upsert: true }
)
This command finds and replaces a document where the name
is Jane Smith
, and if no such document exists, it inserts the replacement document.
Full Example
Let's go through a complete example that includes switching to a database, creating a collection, inserting documents, and replacing a document.
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: Replace a Document in the Collection
This step involves using the replaceOne
method to replace a document in the programGuru
collection.
Replace a Single Document
db.programGuru.replaceOne(
{ name: "John Doe" },
{ name: "John Doe", age: 31, email: "john.doe@newdomain.com" }
)
We find a document where the name
is John Doe
and replace it with a new document.
Replace a Document with Options
db.programGuru.replaceOne(
{ name: "Jane Smith" },
{ name: "Jane Smith", age: 26, email: "jane.smith@newdomain.com" },
{ upsert: true }
)
We find and replace a document where the name
is Jane Smith
, and if no such document exists, we insert the replacement document.
Conclusion
The MongoDB replaceOne
operation is crucial for updating specific documents in collections while maintaining the same _id
field. Understanding how to use this method allows you to efficiently manage and update data within MongoDB collections.