Używam oficjalnego sterownika C# i chcę posortować kolekcję według $natural
.
wiem do sortowania przez klawiszy, można użyć
collection.Find(query).SetSortOrder(SortBy.Descending("Name"))
Jak to zrobić porządek z $natural
?
Używam oficjalnego sterownika C# i chcę posortować kolekcję według $natural
.
wiem do sortowania przez klawiszy, można użyć
collection.Find(query).SetSortOrder(SortBy.Descending("Name"))
Jak to zrobić porządek z $natural
?
Tak, możesz użyć sortowania rosnącego obok niego. Na przykład:
collection.Insert(new BsonDocument("x", 1));
collection.Insert(new BsonDocument("x", 2));
collection.Insert(new BsonDocument("x", 3));
foreach (var document in collection.FindAll()
.SetSortOrder(SortBy.Descending("$natural")))
{
Console.WriteLine(document.ToJson());
}
dziękuję bardzo – signals4change
Updated odpowiedź Roberta Stam coś z grubsza odpowiednik, używając składni dla kierowcy 2,0 ...
await collection.InsertOneAsync(new BsonDocument("x", 1));
await collection.InsertOneAsync(new BsonDocument("x", 2));
await collection.InsertOneAsync(new BsonDocument("x", 3));
foreach (
var document in
await
collection.Find(_ => true)
.Sort(new SortDefinitionBuilder<BsonDocument>().Descending("$natural"))
.ToListAsync())
{
Console.WriteLine(document.ToJson());
}
Ważna uwaga: Nie ma potrzeby, aby posortować według rosnąco $ naturalny porządek. To kolejność MongoDB 'natural' zwraca wyniki. – i3arnon