Skip to content

Commit 149b490

Browse files
committed
Address technical feedback
1 parent ef3cf73 commit 149b490

File tree

2 files changed

+24
-15
lines changed

2 files changed

+24
-15
lines changed

source/fundamentals/crud/read-operations/distinct.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@ The examples in this guide use the ``sample_restaurants.restaurants`` collection
3636
from the :atlas:`Atlas sample datasets </sample-data>`. To learn how to create a
3737
free MongoDB Atlas cluster and load the sample datasets, see the :ref:`<csharp-quickstart>`.
3838

39+
The examples on this page uses the following ``Restaurant`` class to model
40+
the documents in the collection:
41+
42+
.. literalinclude:: /includes/fundamentals/code-examples/Distinct.cs
43+
:start-after: start-model
44+
:end-before: end-model
45+
:language: csharp
46+
47+
3948
Retrieve Distinct Values
4049
------------------------
4150

source/includes/fundamentals/code-examples/Distinct.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using MongoDB.Bson.Serialization.Conventions;
44
using MongoDB.Driver;
55

6-
public class LimitSortSkip
6+
public class Distinct
77
{
88
// Replace with your connection string
99
private const string MongoConnectionString = "<connection string URI>>";
@@ -16,7 +16,7 @@ public static void Main(string[] args)
1616

1717
{
1818
// start-distinct
19-
var results = collection.Distinct<string>("borough", new BsonDocument()).ToList();
19+
var results = collection.Distinct<string>(r => r.Borough, Builders<Restaurant>.Filters.Empty).ToList();
2020
foreach (var result in results)
2121
{
2222
Console.WriteLine(result);
@@ -26,8 +26,8 @@ public static void Main(string[] args)
2626

2727
{
2828
// start-distinct-with-query
29-
var filter = Builders<Restaurant>.Filter.Eq("cuisine", "Italian");
30-
var results = collection.Distinct<string>("borough", filter).ToList();
29+
var filter = Builders<Restaurant>.Filter.Eq(r => r.Cuisine, "Italian");
30+
var results = collection.Distinct<string>(r => r.Borough, filter).ToList();
3131
foreach (var result in results)
3232
{
3333
Console.WriteLine(result);
@@ -37,15 +37,15 @@ public static void Main(string[] args)
3737

3838
{
3939
// start-distinct-with-comment
40-
var cuisineFilter = Builders<Restaurant>.Filter.Eq("cuisine", "Pizza");
41-
var boroughFilter = Builders<Restaurant>.Filter.Eq("borough", "Bronx");
40+
var cuisineFilter = Builders<Restaurant>.Filter.Eq(r => r.Cuisine, "Pizza");
41+
var boroughFilter = Builders<Restaurant>.Filter.Eq(r => r.Borough, "Bronx");
4242
var filter = Builders<Restaurant>.Filter.And(cuisineFilter, boroughFilter);
4343

4444
var options = new DistinctOptions {
4545
Comment = "Find all Italian restaurants in the Bronx"
4646
};
4747

48-
var results = collection.Distinct<string>("name", filter).ToList();
48+
var results = collection.Distinct<string>(r => r.Name, filter).ToList();
4949
foreach (var result in results)
5050
{
5151
Console.WriteLine(result);
@@ -58,38 +58,38 @@ public static void Main(string[] args)
5858
private static async void DistinctAsync (IMongoCollection<Restaurant> collection)
5959
{
6060
// start-distinct-async
61-
var results = await collection.DistinctAsync<string>("borough", new BsonDocument());
61+
var results = await collection.DistinctAsync<string>(r => r.Borough, Builders<Restaurant>.Filters.Empty);
6262
await results.ForEachAsync(result => Console.WriteLine(result));
6363
// end-distinct-async
6464
}
6565

6666
private static async void DistinctWithQueryAsync (IMongoCollection<Restaurant> collection)
6767
{
6868
// start-distinct-with-query-async
69-
var filter = Builders<Restaurant>.Filter.Eq("cuisine", "Italian");
70-
var results = await collection.DistinctAsync<string>("borough", filter);
69+
var filter = Builders<Restaurant>.Filter.Eq(r => r.Cuisine, "Italian");
70+
var results = await collection.DistinctAsync<string>(r => r.Borough, filter);
7171
await results.ForEachAsync(result => Console.WriteLine(result));
7272
// end-distinct-with-query-async
7373
}
7474

7575
private static async void DistinctWithCommentAsync (IMongoCollection<Restaurant> collection)
7676
{
7777
// start-distinct-with-comment-async
78-
var cuisineFilter = Builders<Restaurant>.Filter.Eq("cuisine", "Pizza");
79-
var boroughFilter = Builders<Restaurant>.Filter.Eq("borough", "Bronx");
78+
var cuisineFilter = Builders<Restaurant>.Filter.Eq(r => r.Cuisine, "Pizza");
79+
var boroughFilter = Builders<Restaurant>.Filter.Eq(r => r.Borough, "Bronx");
8080
var filter = Builders<Restaurant>.Filter.And(cuisineFilter, boroughFilter);
8181

8282
var options = new DistinctOptions {
8383
Comment = "Find all Italian restaurants in the Bronx"
8484
};
8585

86-
var results = await collection.DistinctAsync<string>("name", filter, options);
86+
var results = await collection.DistinctAsync<string>(r => r.Name, filter, options);
8787
await results.ForEachAsync(result => Console.WriteLine(result));
8888
// end-distinct-with-comment-async
8989
}
9090
}
9191

92-
// start-restaurant-class
92+
// start-model
9393
public class Restaurant {
9494
public ObjectId? Id { get; set; }
9595

@@ -102,4 +102,4 @@ public class Restaurant {
102102
[BsonElement("borough")]
103103
public string? Borough { get; set; }
104104
}
105-
// end-restaurant-class
105+
// end-model

0 commit comments

Comments
 (0)