2011-06-22 14 views
5

公式のC#ドライバを使用しています。コレクションを$naturalでソートしたいと思います。私はキーでソートするために知って

は、私が

collection.Find(query).SetSortOrder(SortBy.Descending("Name")) 

を使用することができますどのように私は$naturalで並べ替えるのですか?

+0

重要な注意:$自然昇順にソートする必要はありません。それはMongoDBの命令です。自然に結果を返します。 – i3arnon

答えて

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()); 
} 
2.0ドライバのための構文を使用して、ほぼ同等のものにロバート・スタムの答えを更新しました
+0

ありがとう – signals4change

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()); 
} 
関連する問題