MongoDB सॉर्ट क्वेरी परिणाम

Mongodb Sorta Kveri Parinama



लगभग सभी डेटाबेस सिस्टम डेटा को पुनः प्राप्त करने से पहले सॉर्ट करने को प्राथमिकता देते हैं, जो उन्हें अन्य डेटा स्टोरेज विधियों से अलग करता है। मोंगोडीबी के पास डेटा को सॉर्ट करने के तरीके को निर्धारित करने के विभिन्न तरीके भी हैं। अधिकतर, हम सॉर्ट () विधि का उपयोग उस क्रम को निर्धारित करने के लिए करते हैं जिसमें दस्तावेज़ दिखाई देता है। अनुक्रम का क्रम सॉर्ट () विधि के पैरामीटर के रूप में पारित किया जाता है। सॉर्ट () विधि बनाने वाले एक या अधिक फ़ील्ड अक्सर '1' या '-1' मान द्वारा अनुसरण किए जाते हैं। सॉर्ट () विधि क्वेरी को अधिक पठनीय बनाती है, जो निर्दिष्ट संग्रह की समझ में सुधार करती है।

MongoDB सॉर्ट क्वेरी परिणाम कैसे करता है?

सॉर्ट विधि फ़ील्ड और उससे संबंधित मान को एक पैरामीटर के रूप में लेती है। सॉर्ट विधि JSON प्रारूप में {फ़ील्ड: मान} जैसे पैरामीटर स्वीकार करती है। संग्रह से सॉर्ट किए गए दस्तावेज़ प्राप्त करने के लिए सॉर्ट () विधि में कई फ़ील्ड और मान भी इनपुट हो सकते हैं। निम्नलिखित दस्तावेज़ पर विचार करें जिसमें हमने अपने डेटाबेस में कई अन्य दस्तावेज़ डाले हैं। इस MongoDB डेटाबेस का नाम 'कर्मचारी' है। 'कर्मचारी' संग्रह में नीचे दिखाए गए कर्मचारियों की सभी जानकारी है।

db.Employees.insertMany([
{
'नाम': 'रॉबर्ट',
'डीओबी': '14-05-1993',
'लिंग पुरुष',
'ईमेल': ' [ईमेल संरक्षित] ',
'विभाग': 'सिक्योरिटी',
'वेतन': 5000
},
{
'नाम': 'काइल',
'डीओबी': '31-05-1999',
'लिंग महिला',
'ईमेल': ' [ईमेल संरक्षित] ',
'विभाग': 'आईटी',
'वेतन' : 6200
},
{
'नाम': 'मैथ्यू',
'डीओबी': '26-04-1993',
'लिंग पुरुष',
'ईमेल': ' [ईमेल संरक्षित] ',
'विभाग': 'लेखा',
'वेतन': 3500
},
{
'नाम': 'केविन',
'डीओबी': '14-07-1991',
'लिंग पुरुष',
'ईमेल': ' [ईमेल संरक्षित] ',
'विभाग': 'सुरक्षा',
'वेतन': 4500
},

{
'नाम': 'जूलिया',
'डीओबी': '09-12-2000',
'लिंग महिला',
'ईमेल': ' [ईमेल संरक्षित] ',
'विभाग': 'आईटी',
'वेतन': 2500
}
])

संग्रह 'कर्मचारी' प्रदान किए गए दस्तावेजों के साथ डाला गया है जिसकी पुष्टि निम्नलिखित आउटपुट में दिखाई गई है। हम इस संग्रह दस्तावेज़ का उपयोग सॉर्ट क्वेरी परिणामों की कार्यक्षमता दिखाने के लिए करने जा रहे हैं।









उदाहरण # 1: MongoDB अनसोर्टेड कलेक्शन

जब खोज क्वेरी को खोज () विधि के साथ निष्पादित किया जाता है, तो यह हमेशा दस्तावेज़ों का एक अवर्गीकृत संग्रह देता है। यह नीचे दिए गए क्वेरी परिणामों से स्पष्ट हो सकता है।



>db.Employees.find({},{_id:0})

यहां, हमारे पास खोज () विधि के साथ 'कर्मचारी' संग्रह की एक क्वेरी है। खोज () विधि '_id: 0' के साथ खाली पैरामीटर लेती है। सरल परिणाम के लिए, दस्तावेज़ आईडी को '_id:0' ऑपरेटर का उपयोग करके हटा दिया जाता है। डिफ़ॉल्ट रूप से, जब क्वेरी को खोज () विधि से खोजा जाता है, तो हमें अवर्गीकृत संग्रह प्राप्त होते हैं। नीचे प्राप्त आउटपुट सभी अनसोर्टेड दस्तावेज़ हैं जो हमारे पास सम्मिलन के समय हैं।





उदाहरण # 2: आरोही क्रम में MongoDB सॉर्ट क्वेरी परिणाम

MongoDB में सॉर्ट किया गया संग्रह सॉर्ट () विधि का उपयोग करके प्राप्त किया जाता है जिसे खोज () विधि के बाद रखा जाना चाहिए। MongoDB में सॉर्ट () विधि पैरामीटर लेती है जो फ़ील्ड नाम और दस्तावेज़ को सॉर्ट करने के क्रम में शामिल है। हमें क्षेत्र में एक पैरामीटर के रूप में '1' दर्ज करने की आवश्यकता है क्योंकि हम इस विशेष उदाहरण में दस्तावेजों को आरोही क्रम में पुनः प्राप्त करेंगे। सॉर्ट क्वेरी में निम्नलिखित आरोही क्रम में परिणाम देता है।



>db.Employees.find().sort({name:1})

यहाँ, हमने खोज क्वेरी के बाद सॉर्ट () विधि का उपयोग किया है। सॉर्ट () विधि का उपयोग फ़ील्ड 'नाम' को आरोही क्रम में सॉर्ट करने के लिए किया जाता है क्योंकि मान '1' निर्दिष्ट फ़ील्ड के बगल में रखा जाता है। ध्यान दें कि यदि सॉर्ट () विधि किसी पैरामीट्रिक मान के साथ निर्दिष्ट नहीं है, तो संग्रह को सॉर्ट नहीं किया जाएगा। सॉर्ट () विधि से आउटपुट डिफ़ॉल्ट क्रम में प्राप्त किया जाएगा। आरोही क्रम में नाम फ़ील्ड द्वारा सॉर्ट () विधि के परिणाम निम्नलिखित MongoDB शेल में प्रदर्शित होते हैं।

उदाहरण # 3: अवरोही क्रम में MongoDB सॉर्ट क्वेरी परिणाम

अब, हम अवरोही क्रम में MongoDB के सॉर्ट क्वेरी परिणाम दिखा रहे हैं। इस प्रकार की क्वेरी उपरोक्त उदाहरण के समान है लेकिन एक अंतर के साथ। अवरोही क्रम के लिए, सॉर्ट () विधि कॉलम नाम के विरुद्ध '-1' मान लेती है। अवरोही क्रम में क्रमबद्ध क्वेरी परिणाम नीचे दिए गए हैं।

>db.Employees.find({},{'email':1,_id:0}).sort({'email':-1})

यहां, खोज क्वेरी खोज () विधि से शुरू होती है जो फ़ील्ड 'ईमेल' ढूंढती है और केवल फ़ील्ड 'ईमेल' मान लौटाती है। अगला, हमने सॉर्ट () विधि निर्दिष्ट की है जिसका उपयोग 'ईमेल' फ़ील्ड को सॉर्ट करने के लिए किया जाता है, और इसके आगे '-1' मान इंगित करता है कि प्राप्त सॉर्टिंग परिणाम अवरोही क्रम में होंगे। मोंगोडीबी खोल में इसे निष्पादित करने के बाद अवरोही क्रम सॉर्ट क्वेरी परिणाम प्राप्त किए जाते हैं।

उदाहरण # 4: कई क्षेत्रों के लिए मोंगोडीबी सॉर्ट क्वेरी परिणाम

हम MongoDB में कई फ़ील्ड्स को सॉर्ट () विधि से सॉर्ट कर सकते हैं। सॉर्ट किए जाने वाले फ़ील्ड को सॉर्ट () विधि में घोषित किया जाना चाहिए। छँटाई क्षेत्रों के घोषणा क्रम पर आधारित है और छँटाई क्रम की जाँच बाएँ से दाएँ की जाती है। एकाधिक क्षेत्रों को क्रमबद्ध करने के लिए क्वेरी इस तरह दिखनी चाहिए:

>db.Employees.find({},{_id:0}).sort({'name':1,'salary':1})

यहां, सॉर्ट () विधि 'नाम' और 'वेतन' फ़ील्ड को सॉर्ट करने के साथ पास की जाती है। 'कर्मचारी' संग्रह से फ़ील्ड 'नाम' पहले सॉर्ट किया गया है क्योंकि यह सॉर्ट () विधि का पहला तर्क फ़ील्ड है। फिर, सॉर्ट () विधि दूसरे तर्क क्षेत्र 'वेतन' को सॉर्ट करती है। दोनों क्षेत्रों का क्रम '1' है जो इंगित करता है कि छँटाई आरोही क्रम में होगी। सॉर्ट क्वेरी के एकाधिक फ़ील्ड के लिए आउटपुट नीचे दिए गए निर्दिष्ट सॉर्टिंग क्रम में उत्पन्न होता है।

उदाहरण # 5: सीमा विधि के साथ मोंगोडीबी सॉर्ट क्वेरी परिणाम

इसके अलावा, सॉर्ट () मेथड को लिमिट () मेथड के साथ भी जोड़ा जा सकता है, जो उस सर्च क्वेरी द्वारा सॉर्ट किए गए दस्तावेजों की सीमित संख्या देता है। सीमा () विधि को एक पैरामीटर के रूप में एक पूर्णांक की आवश्यकता होती है, जो आउटपुट सेट में शामिल किए जाने वाले दस्तावेज़ों की संख्या को सीमित करता है। खोज क्वेरी नीचे सेट की गई है जो पहले दस्तावेज़ को सॉर्ट करती है और फिर निर्दिष्ट सीमा दस्तावेज़ प्रदान करती है।

>db.Employees.find({},{_id:0}).sort({'Department':1,'DOB':1}).limit(4).pretty()

यहां, हमारे पास खोज क्वेरी है जो सॉर्ट () विधि का उपयोग करके 'विभाग' कॉलम के लिए सॉर्ट ऑपरेशन शुरू करती है और फिर 'डीओबी' कॉलम के लिए आरोही क्रम में शुरू होती है। एक बार छँटाई पूरी हो जाने के बाद, हमने सीमित दस्तावेज़ को पुनः प्राप्त करने के लिए इसके आगे सीमा () विधि रखी है। सीमा () विधि को एक संख्यात्मक मान '4' दिया जाता है, जिसका अर्थ है कि यह केवल चार सॉर्ट किए गए दस्तावेज़ों को आउटपुट में प्रदर्शित करता है जैसा कि निम्न स्क्रीन में दिखाया गया है:

उदाहरण # 6: $ सॉर्ट एकत्रीकरण के साथ MongoDB सॉर्ट क्वेरी परिणाम

उपरोक्त सभी उदाहरणों में, हमने MongoDB के सॉर्ट () विधि के माध्यम से छँटाई की है। MongoDB में छँटाई का एक और तरीका है जो $sort एकत्रीकरण के माध्यम से पूरा किया जाता है। $ सॉर्ट ऑपरेटर सभी इनपुट दस्तावेज़ों को सॉर्ट करता है जो तब सॉर्ट किए गए दस्तावेज़ों को पाइपलाइन में लौटाता है। $sort ऑपरेटर नीचे 'कर्मचारियों' संग्रह पर लागू होता है।

db.Employees.aggregate([ { $sort : { वेतन : 1, _id: -1 } } ])

यहां, हमने कुल विधि को बुलाया है जिसके अंदर हम '$ सॉर्ट' ऑपरेटर का उपयोग कर सकते हैं। फिर, हमारे पास $sort ऑपरेटर एक्सप्रेशन है जो 'वेतन' कॉलम को आरोही क्रम में और 'id' कॉलम को अवरोही क्रम में सॉर्ट करता है। फ़ील्ड पर लागू किया गया $sort एकत्रीकरण निम्न परिणाम देता है:

उदाहरण # 6: स्किप मेथड के साथ MongoDB सॉर्ट क्वेरी परिणाम

सॉर्ट () विधि को स्किप () विधि के साथ जोड़ा जा सकता है। परिणामी डेटासेट में निश्चित संख्या में दस्तावेज़ हो सकते हैं जिन्हें स्किप () विधि का उपयोग करके अनदेखा किया जाएगा। सीमा () विधि की तरह, स्किप () विधि भी संख्यात्मक मान को स्वीकार करती है जो छोड़े जाने वाले दस्तावेजों की संख्या को इंगित करता है। हमने सॉर्ट क्वेरी में सॉर्ट () विधि को स्किप () विधि के साथ जोड़ दिया है।

>db.Employees.find({},{_id:0}).sort({'salary':1}).skip(4).pretty()

यहां, हमने सॉर्ट () विधि के बगल में स्किप () विधि का उपयोग किया है। जब सॉर्ट () विधि दस्तावेजों को सॉर्ट करती है तो यह सॉर्टिंग आउटपुट को सॉर्ट () विधि में भेजती है। उसके बाद, स्किप () विधि ने संग्रह से पहले चार सॉर्ट किए गए दस्तावेज़ों को हटा दिया।

निष्कर्ष

लेख MongoDB में सॉर्ट क्वेरी परिणामों के बारे में है। हमने इस उद्देश्य के लिए सॉर्ट () पद्धति का उपयोग किया है जो एक निर्दिष्ट क्रम में रिकॉर्ड को व्यवस्थित करता है। हमने कई क्षेत्रों में एकाधिक छँटाई के लिए सॉर्ट () विधि का भी उपयोग किया है। इसके बाद सॉर्ट () मेथड को लिमिट () और स्किप () मेथड्स के साथ इन ऑपरेशंस का उपयोग करके सॉर्ट किए गए डॉक्यूमेंट्स के साथ जोड़ा जाता है, इसके अतिरिक्त, हमने MongoDB में सॉर्ट क्वेरी रिजल्ट्स के लिए $ सॉर्ट एग्रीगेशन प्रदान किया है।