अच्छा सवाल!
"कितना अधिक, बहुत अधिक है?" - यह, निश्चित रूप से, आपके डेटा आकार और प्रदर्शन आवश्यकताओं पर निर्भर करता है। जब मैं 500-1000 से अधिक रिकॉर्ड छोड़ता हूं, तो व्यक्तिगत रूप से मैं असहज महसूस करता हूं।
वास्तविक उत्तर आपकी आवश्यकताओं पर निर्भर करता है। यहां बताया गया है कि आधुनिक साइटें क्या करती हैं (या, कम से कम, उनमें से कुछ)।
सबसे पहले, नेवबार इस तरह दिखता है:
1 2 3 ... 457
उन्हें कुल रिकॉर्ड संख्या और पृष्ठ आकार से अंतिम पृष्ठ संख्या मिलती है। आइए पेज 3 पर जाएं। इसमें पहले रिकॉर्ड से कुछ छोड़ना शामिल होगा। जब परिणाम आते हैं, तो आप पृष्ठ 3 पर पहले रिकॉर्ड की आईडी जानते हैं।
1 2 3 4 5 ... 457
आइए कुछ और छोड़ें और पेज 5 पर जाएं।
1 ... 3 4 5 6 7 ... 457
तुम्हें नया तरीका मिल गया है। प्रत्येक बिंदु पर आप पहले, अंतिम और वर्तमान पृष्ठ देखते हैं, और वर्तमान पृष्ठ से आगे और पीछे दो पृष्ठ भी देखते हैं।
प्रश्न
var current_id; // id of first record on current page.
// go to page current+N
db.collection.find({_id: {$gte: current_id}}).
skip(N * page_size).
limit(page_size).
sort({_id: 1});
// go to page current-N
// note that due to the nature of skipping back,
// this query will get you records in reverse order
// (last records on the page being first in the resultset)
// You should reverse them in the app.
db.collection.find({_id: {$lt: current_id}}).
skip((N-1)*page_size).
limit(page_size).
sort({_id: -1});