For AI agents: a documentation index is available at https://www.mongodb.com/pt-br/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.
Docs Menu

Quick Reference

This page shows the driver syntax for several MongoDB commands and links to their related reference and API documentation.

Tip

Using LINQ

You can perform many of the operations on this page using LINQ. For more information on using LINQ with the .NET/C# Driver, see the LINQ Fundamentals page.

Command
Syntax
var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Name, "Bagels N Buns");
var restaurant = _restaurantsCollection.Find(filter).FirstOrDefault();
Console.WriteLine(restaurant);
{ name : "Bagels N Buns", restaurant_id : "40363427", ... }

Find a Document (Async)

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Name, "Bagels N Buns");
var restaurant = await _restaurantsCollection.Find(filter).FirstOrDefaultAsync();
Console.WriteLine(restaurant);
{ name : "Bagels N Buns", restaurant_id : "40363427", ... }

Find Multiple Documents

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(r => restaurant.Cuisine, "Pizza");
var restaurants = _restaurantsCollection.Find(filter).ToList();
Console.WriteLine(restaurants);
[
{ name: "Como Pizza", cuisine: "Pizza", ... },
{ name: "New York Pizza Suprema", cuisine: "Pizza", ... },
...
]

Find Multiple Documents (Async)

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(r => restaurant.Cuisine, "Pizza");
var restaurants = await _restaurantsCollection.Find(filter).ToListAsync();
Console.WriteLine(restaurants);
[
{ name: "Como Pizza", cuisine: "Pizza", ... },
{ name: "New York Pizza Suprema", cuisine: "Pizza", ... },
...
]
var insertResult = _restaurantsCollection.InsertOne(new Restaurant { Name = "Mongo's Pizza" });

Insert a Document (Async)

API Documentation
Fundamentals

var insertResult = await _restaurantsCollection.InsertOneAsync(new Restaurant { Name = "Mongo's Pizza" });

Insert Multiple Documents

API Documentation
Fundamentals

_restaurantsCollection.InsertMany(new List<Restaurant>
{
new Restaurant { Name = "Mongo's Pizza" },
new Restaurant { Name = "Mongo Grill" }
});

Insert Multiple Documents (Async)

API Documentation
Fundamentals

await _restaurantsCollection.InsertManyAsync(new List<Restaurant>
{
new Restaurant { Name = "Mongo's Pizza" },
new Restaurant { Name = "Mongo Grill" }
});
var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Name, "Bagels N Buns");
var update = Builders<Restaurant>.Update
.Set(restaurant => restaurant.Name, "2 Bagels 2 Buns");
var result = _restaurantsCollection.UpdateOne(filter, update);

Update a Document (Async)

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Name, "Bagels N Buns");
var update = Builders<Restaurant>.Update
.Set(restaurant => restaurant.Name, "2 Bagels 2 Buns");
var updateResult = await _restaurantsCollection.UpdateOneAsync(filter, update);

Update Multiple Documents

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Pizza");
var update = Builders<Restaurant>.Update
.Set(restaurant => restaurant.Cuisine, "Pasta and breadsticks");
var result = _restaurantsCollection.UpdateMany(filter, update);

Update Multiple Documents (Async)

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Pizza");
var update = Builders<Restaurant>.Update
.Set(restaurant => restaurant.Cuisine, "Pasta and breadsticks");
var updateResult = await _restaurantsCollection.UpdateManyAsync(filter, update);
var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Name, "Bagels N Buns");
var update = Builders<Restaurant>.Update
.Push(restaurant => restaurant.Grades, new GradeEntry
{
Date = DateTime.Now.ToUniversalTime(),
Grade = "A",
Score = 10
});
var result = _restaurantsCollection.UpdateOne(filter, update);
var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Pizza");
// Find ID of first pizza restaurant
var oldPizzaRestaurant = _restaurantsCollection.Find(filter).First();
var oldId = oldPizzaRestaurant.Id;
Restaurant newPizzaRestaurant = new()
{
Id = oldId,
Name = "Mongo's Pizza",
Cuisine = "Pizza",
Address = new Address
{
Building = "123",
Coordinates = [123, 456],
Street = "Pizza St",
ZipCode = "10003"
},
Borough = "Manhattan",
};
var replaceResult = _restaurantsCollection.ReplaceOne(filter, newPizzaRestaurant);

Replace a Document (Async)

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Pizza");
// Find ID of first pizza restaurant
var oldPizzaRestaurant = _restaurantsCollection.Find(filter).First();
var oldId = oldPizzaRestaurant.Id;
Restaurant newPizzaRestaurant = new()
{
Id = oldId,
Name = "Mongo's Pizza",
Cuisine = "Pizza",
Address = new Address
{
Building = "123",
Coordinates = [12.3, 45.6],
Street = "Pizza St",
ZipCode = "10003"
},
Borough = "Manhattan",
};
var replaceResult = await _restaurantsCollection.ReplaceOneAsync(filter, newPizzaRestaurant);
var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Name, "Ready Penny Inn");
var deleteResult = _restaurantsCollection.DeleteOne(filter);

Delete a Document (Async)

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Name, "Ready Penny Inn");
var deleteResult = await _restaurantsCollection.DeleteOneAsync(filter);

Delete Multiple Documents

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Regex(restaurant => restaurant.Name, "Green");
var deleteResult = _restaurantsCollection.DeleteMany(filter);

Delete Multiple Documents (Async)

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Regex(restaurant => restaurant.Name, "Green");
var deleteResult = await _restaurantsCollection.DeleteManyAsync(filter);

Access Data from a Cursor Iteratively

API Documentation

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Afghan)";
var cursor = _restaurantsCollection.Find(filter).ToCursor();
while (cursor.MoveNext())
{
foreach (var r in cursor.Current)
{
Console.WriteLine(r.Name);
}
}
[
Afghan Kebab House
Khyber Pass
...
]

Count Documents

API Documentation

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Pizza");
var count = _restaurantsCollection.Find(filter).CountDocuments();
Console.WriteLine(count);
1163

List the Distinct Documents or Field Values

API Documentation

var filter = Builders<Restaurant>.Filter.Empty;
var restaurants = _restaurantsCollection
.Distinct(r => r.Cuisine, filter);
Console.WriteLine(restaurants);
[ Afghan, African, American, Armenian, Asian, ... ]

Limit the Number of Documents Retrieved

API Documentation

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Asian");
var restaurants = _restaurantsCollection.Find(filter).Limit(3).ToList();
Console.WriteLine(restaurants);
[
{ name: "China Grill", ... },
{ name: "Indo Chine", ... },
{ name: "Le Colonial", ... }
]

Skip Retrieved Documents

API Documentation

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Asian");
var restaurants = _restaurantsCollection.Find(filter).Skip(2).ToList();
Console.WriteLine(restaurants);
[
{ name: "Le Colonial", ... },
{ name: "Citrus Bar & Grill", ... },
{ name: "Mangez Avec Moi", ... },
...
]

Sort the Documents When Retrieving Them

API Documentation

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Brazilian");
var restaurants = _restaurantsCollection.Find(filter)
.SortBy(r => r.Name).ToList();
Console.WriteLine(restaurants);
[
{ name: "Barzinho", ... },
{ name: "Beco", ... },
{ name: "Beija-Flor", ... },
...
]

Project Document Fields When Retrieving Them

API Documentation
Fundamentals

var filter = Builders<Restaurant>.Filter
.Eq(restaurant => restaurant.Cuisine, "Italian");
var projection = Builders<Restaurant>.Projection
.Include(restaurant => restaurant.Name)
.Include(restaurant => restaurant.Borough)
.Exclude(restaurant => restaurant.Id);
var restaurants = _restaurantsCollection.Find(filter).Project(projection).ToList();
Console.WriteLine(restaurants);
[
{ borough : "Brooklyn", name : "Philadelphia Grille Express" }
{ borough : "Manhattan", name : "Isle Of Capri Restaurant" }
{ borough : "Manhattan", name : "Marchis Restaurant" }
...
]
var index = Builders<Restaurant>.IndexKeys
.Ascending(restaurant => restaurant.Cuisine);
_restaurantsCollection.Indexes
.CreateOne(new CreateIndexModel<Restaurant>(index));