मैं मूल्यांकन कर रहा हूं कि मोंगोडीबी एकत्रीकरण ढांचा हमारी आवश्यकताओं के अनुरूप कितना अच्छा है क्योंकि हम वर्तमान में SQL सर्वर के शीर्ष पर चल रहे हैं।मोंगोडब एकत्रीकरण ढांचे में केस-स्टेटमेंट निष्पादित करना
मैं निम्नलिखित छद्म रिकॉर्ड (एक एसक्यूएल तालिका में और एक पूर्ण दस्तावेज के रूप में स्तंभों के रूप में मॉडलिंग की एक MongoDB संग्रह में) कहो
{
name: 'A',
timespent: 100,
},
{
name: 'B',
timespent: 200,
},
{
name: 'C',
timespent: 300,
},
{
name: 'D',
timespent: 400,
},
{
name: 'E',
timespent: 500,
}
मैं चाहता हूँ: मैं एक कठिन समय एक विशिष्ट पूछताछ हो रही है समय सीमा क्षेत्र को श्रेणियों में समूहित करने और घटनाओं की गिनती करने के लिए, इसलिए मुझे उदाहरण मिलेगा निम्नलिखित छद्म रिकॉर्ड:
results{
0-250: 2,
250-450: 2,
450-650: 1
}
ध्यान दें कि इन सीमाओं (250, 450 और 650) गतिशील हैं और संभावना उपयोगकर्ता द्वारा समय के साथ बदल दिया जाएगा।
select range, COUNT(*) as total from (
select case when Timespent <= 250 then '0-250'
when Timespent <= 450 then '200-450'
else '450-600' end as range
from TestTable) as r
group by r.range
फिर, ध्यान दें कि यह एसक्यूएल विशिष्ट श्रेणी किसी एक समय में उपलब्ध फिट करने के लिए हमारे एप्लिकेशन द्वारा गतिशील रूप से निर्माण किया है: एसक्यूएल में हम कुछ इस तरह के साथ परिणाम निकाले।
मैं ऐसे क्वेरी करने MongoDB एकत्रीकरण ढांचे में उचित निर्माणों को खोजने के लिए संघर्ष कर रहा हूँ। मैं पाइपलाइन में एक $ मैच डालकर एक ही श्रेणी के परिणामों के लिए पूछताछ कर सकता हूं (यानी एक सिंगल रेंज का परिणाम प्राप्त करना) लेकिन मैं सभी श्रेणियों और उनकी गणनाओं को एक पाइपलाइन क्वेरी में निकालने का तरीका नहीं समझ सकता।
यह लिंक आपकी मदद करेगा http://stackoverflow.com/questions/8945766/mongodb-mysql-sum-case-when-equivalent/21700596#21700596 –
http://www.codefari.com/2015 /08/case-statement-in-mongodb-query.html लिंक से ऊपर आपको – Singh