Docs Menu
Docs Home
/ / /
C#/.NET
/

Replace a Document

On this page

  • Example
  • Expected Result
  • Additional Information
  • API Documentation

You can replace one document with another by using the ReplaceOne() synchronous method or the ReplaceOneAsync() asynchronous method on a collection object.

The following code replaces the first document in the restaurants collection that has a value of "Pizza" in the cuisine field. After the replacement, this document will have a name field with a value of "Mongo's Pizza" and new values for the address and borough fields.

Select the Asynchronous or Synchronous tab to see the corresponding code.

// Creates a filter for all restaurant documents that have a "cuisine" value of "Pizza"
var filter = Builders<Restaurant>.Filter
.Eq(r => r.Cuisine, "Pizza");
// Finds the ID of the first restaurant document that matches the filter
var oldPizzaRestaurant = _restaurantsCollection.Find(filter).First();
var oldId = oldPizzaRestaurant.Id;
// Generates a new restaurant document
Restaurant newPizzaRestaurant = new()
{
Id = oldId,
Name = "Mongo's Pizza",
Cuisine = "Pizza",
Address = new()
{
Street = "Pizza St",
ZipCode = "10003"
},
Borough = "Manhattan",
};
// Asynchronously replaces the existing restaurant document with the new document
return await _restaurantsCollection.ReplaceOneAsync(filter, newPizzaRestaurant);

For a fully runnable example of the ReplaceOneAsync() operation, see the ReplaceOneAsync code sample.

// Creates a filter for all restaurant documents that have a "cuisine" value of "Pizza"
var filter = Builders<Restaurant>.Filter
.Eq(r => r.Cuisine, "Pizza");
// Finds the ID of the first restaurant document that matches the filter
var oldPizzaRestaurant = _restaurantsCollection.Find(filter).First();
var oldId = oldPizzaRestaurant.Id;
// Generates a new restaurant document
Restaurant newPizzaRestaurant = new()
{
Id = oldId,
Name = "Mongo's Pizza",
Cuisine = "Pizza",
Address = new()
{
Street = "Pizza St",
ZipCode = "10003"
},
Borough = "Manhattan",
};
// Replaces the existing restaurant document with the new document
return _restaurantsCollection.ReplaceOne(filter, newPizzaRestaurant);

For a fully runnable example of the ReplaceOne() operation, see the ReplaceOne code sample.

Running either of the preceding full examples prints the following results:

First pizza restaurant before replacement: J&V Famous Pizza
Restaurants modified by replacement: 1
First pizza restaurant after replacement: Mongo's Pizza
Resetting sample data...done.

To learn more about replacing documents, see the Replace Operation guide.

To learn more about using builders, see Operations with Builders.

Back

Update Many Documents

Next

Delete a Document