| 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", ... } |
|
| 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", ... } |
|
| 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)
| 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)
| var insertResult = await _restaurantsCollection.InsertOneAsync(new Restaurant { Name = "Mongo's Pizza" }); |
|
Insert Multiple Documents
| _restaurantsCollection.InsertMany(new List<Restaurant> | { | new Restaurant { Name = "Mongo's Pizza" }, | new Restaurant { Name = "Mongo Grill" } | }); |
|
Insert Multiple Documents (Async)
| 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)
| 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
| 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)
| 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); |
|
Update an Array in a Document
| 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"); | | | 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)
| var filter = Builders<Restaurant>.Filter | .Eq(restaurant => restaurant.Cuisine, "Pizza"); | | | 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)
| var filter = Builders<Restaurant>.Filter | .Eq(restaurant => restaurant.Name, "Ready Penny Inn"); | | var deleteResult = await _restaurantsCollection.DeleteOneAsync(filter); |
|
Delete Multiple Documents
| var filter = Builders<Restaurant>.Filter | .Regex(restaurant => restaurant.Name, "Green"); | | var deleteResult = _restaurantsCollection.DeleteMany(filter); |
|
Delete Multiple Documents (Async)
| var filter = Builders<Restaurant>.Filter | .Regex(restaurant => restaurant.Name, "Green"); | | var deleteResult = await _restaurantsCollection.DeleteManyAsync(filter); |
|
Access Data from a Cursor Iteratively
| 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 | ... | ] |
|
| var filter = Builders<Restaurant>.Filter | .Eq(restaurant => restaurant.Cuisine, "Pizza"); | | var count = _restaurantsCollection.Find(filter).CountDocuments(); | | Console.WriteLine(count); |
|
List the Distinct Documents or Field Values
| 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
| 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", ... } | ] |
|
| 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
| 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
| 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)); |
|