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.

MongoDB Replace One Document

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.

MongoDB Replace One Document

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.

MongoDB Replace One Document

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.

MongoDB Replace One 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.