MongoDB में पेजिनेशन limit()
. के संयोजन का उपयोग करके पूरा किया जा सकता है और skip()
।
उदाहरण के लिए, मान लें कि हमारे पास हमारे सक्रिय डेटाबेस में उपयोगकर्ता नामक संग्रह है।
>> db.users.find().limit(3)
यह हमारे लिए पहले तीन उपयोगकर्ता दस्तावेज़ों की एक सूची प्राप्त करता है। ध्यान दें, यह अनिवार्य रूप से लेखन के समान है:
>> db.users.find().skip(0).limit(3)
अगले तीन के लिए, हम यह कर सकते हैं:
>> db.users.find().skip(3).limit(3)
यह पहले तीन उपयोगकर्ता रिकॉर्ड को छोड़ देता है, और हमें अगले तीन देता है। यदि आपके डेटाबेस में केवल एक और उपयोगकर्ता है, तो चिंता न करें; MongoDB केवल मौजूद डेटा को वापस करने के लिए पर्याप्त स्मार्ट है, और क्रैश नहीं होगा।
इसे इस तरह सामान्यीकृत किया जा सकता है, और यह मोटे तौर पर एक वेब एप्लिकेशन में आप जो करेंगे, उसके बराबर होगा। मान लें कि हमारे पास PAGE_SIZE
. नामक चर हैं जो 3 पर सेट है, और एक मनमाना PAGE_NUMBER
:
>> db.users.find().skip(PAGE_SIZE * (PAGE_NUMBER - 1)).limit(PAGE_SIZE)
मैं सीधे बात नहीं कर सकता कि इस विधि को रूबी ऑन रेल्स में कैसे नियोजित किया जाए, लेकिन मुझे संदेह है कि रूबी मोंगोडीबी लाइब्रेरी इन विधियों को उजागर करती है।