我正在使用官方C#驱动程序,我希望按$natural
对系列进行排序。
我知道按键排序,我可以使用
collection.Find(query).SetSortOrder(SortBy.Descending("Name"))
如何使用$natural
排序?
答案 0 :(得分:8)
是的,您可以使用它降序排序。例如:
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());
}
答案 1 :(得分:1)
使用2.0驱动程序的语法更新了Robert Stam对大致相同的答案...
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());
}