2011-06-22 12 views
5

के साथ मोंगो डीबी में $ प्राकृतिक द्वारा क्रमबद्ध करें मैं आधिकारिक सी # ड्राइवर का उपयोग कर रहा हूं और मैं $natural द्वारा संग्रह को सॉर्ट करना चाहता हूं।आधिकारिक सी # चालक

मैं कुंजी द्वारा छँटाई के लिए पता है, मैं उपयोग कर सकते हैं

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

मैं कैसे $natural साथ तरह करते हैं?

+0

महत्वपूर्ण नोट: $ प्राकृतिक आरोही क्रम के आधार पर सॉर्ट करने के लिए कोई ज़रूरत नहीं है। यही आदेश है कि मोंगो डीबी 'स्वाभाविक रूप से रिटर्न परिणाम। – 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()); 
} 
+0

आपको बहुत धन्यवाद – signals4change

0

अपडेट किया गया कुछ बराबर, 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()); 
} 
संबंधित मुद्दे