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)
मैं कैसे रूबी ऑन रेल्स में इस विधि रोजगार के रूप में सीधे बात नहीं कर सकते, लेकिन मुझे लगता है रूबी MongoDB पुस्तकालय इन तरीकों को उजागर करता है ।
स्रोत
2010-01-14 06:40:01
धन्यवाद, ऐसा लगता है कि नौकरी करना प्रतीत होता है लेकिन अब रूबी शिकायत कर रहा है स्किप पैरामीटर int, sigh, इसके लिए धन्यवाद होना चाहिए :) – RailsSon
मैंने पढ़ा है 'छोड़ें'), क्योंकि श्रेणियां अंकन के लिए बेहतर काम करती हैं। –
क्या छोड़ने के लिए एक बेहतर विकल्प है() @tq? – film42