MongoDB कर्सर विधियों में (अर्थात find()
. का उपयोग करते समय ) जैसे limit
, sort
, skip
किसी भी क्रम में लागू किया जा सकता है => आदेश कोई फर्क नहीं पड़ता। एक find()
एक कर्सर लौटाता है जिस पर संशोधन लागू होते हैं। सॉर्ट हमेशा लिमिट से पहले किया जाता है, स्किप भी लिमिट से पहले किया जाता है। तो दूसरे शब्दों में क्रम है:सॉर्ट करें -> छोड़ें -> सीमा ।
एकत्रीकरण ढांचा एक डीबी कर्सर नहीं लौटाता है। इसके बजाय यह एक दस्तावेज़ . लौटाता है एकत्रीकरण के परिणामों के साथ। यह पाइपलाइन के प्रत्येक चरण में मध्यवर्ती परिणाम देकर काम करता है और इस प्रकार संचालन का क्रम वास्तव में मायने रखता है।
मुझे लगता है कि जिस तरह से इसे आंतरिक रूप से लागू किया गया है, उसके कारण MongoDB कर्सर संशोधक विधियों के लिए आदेश का समर्थन नहीं करता है।
आप एकत्रीकरण ढांचे के परिणाम पर पृष्ठांकित नहीं कर सकते क्योंकि केवल परिणामों के साथ एक ही दस्तावेज़ है। आप अभी भी स्किप और लिमिट का उपयोग करके एक नियमित क्वेरी पर पेजिनेट कर सकते हैं, लेकिन एक बेहतर अभ्यास यह होगा कि एक इंडेक्स का उपयोग करने की दक्षता के कारण रेंज क्वेरी का उपयोग किया जाए।
अद्यतन करें:
चूंकि v2.6 Mongo एकत्रीकरण ढांचा एक दस्तावेज़ के बजाय एक कर्सर लौटाता है। तुलना करें:v2.4 और v2.6 ।