MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB C# LINQ के साथ एकत्रीकरण

आप LINQ सिंटैक्स का उपयोग कर सकते हैं जो एग्रीगेशन फ्रेमवर्क के सिंटैक्स में अनुवादित हो जाता है। मान लें कि आपके पास निम्नलिखित Model हैं कक्षा:

public class Model
{
    public DateTime Timestamp { get; set; }
    public float Value { get; set; }
}

आप where का उपयोग कर सकते हैं टाइमस्टैम्प श्रेणी निर्दिष्ट करने के लिए और फिर group . का उपयोग करें null . के साथ समूहीकरण कुंजी के रूप में। MongoDB ड्राइवर Min translate का अनुवाद करेगा , Max और Average अनाम प्रकार से $max . में , $min और $avg एग्रीगेशन फ्रेमवर्क सिंटैक्स से

var q = from doc in Col.AsQueryable()
        where doc.Timestamp > DateTime.Now.AddDays(-3)
        where doc.Timestamp < DateTime.Now.AddDays(3)
        group doc by (Model)null into gr
        select new
        {
            Avg = (double)gr.Average(x => x.Value),
            Min = gr.Min(x => x.Value),
            Max = gr.Max(x => x.Value)
        };

var result = q.First();

MongoDB ड्राइवर द्वारा समर्थित संचायकों की सूची पाई जा सकती है यहाँ

संपादित करें:(Model)null आवश्यक है क्योंकि क्वेरी को $group . में रूपांतरित किया जाना है _id . के साथ null पर सेट करें (docs ) चूंकि आप समुच्चय के साथ एक परिणाम प्राप्त करना चाहते हैं। कास्टिंग केवल C# कंपाइलर उद्देश्य के लिए आवश्यक है क्योंकि doc Model . प्रकार का है ।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में आप नेस्टेड मान/एम्बेडेड दस्तावेज़ को अपडेट करने के लिए $set का उपयोग कैसे करते हैं?

  2. 3d डेटा के साथ MongoDB के भू-स्थानिक सूचकांक का उपयोग करना

  3. नेवला, कुल में दो अलग-अलग क्षेत्रों का मिलान करें?

  4. वर्तमान टोपोलॉजी सत्र का समर्थन नहीं करती

  5. मैं मोंगोडब के नए एकत्रीकरण ढांचे का परीक्षण कैसे कर सकता हूं