मैंने अपनी नियंत्रक फ़ाइल में पेजिनेशन लागू किया है

exports.products = async (req, res) => {
  const pagination = req.query.pagination ? parseInt(req.query.pagination) : 5;
  const page = req.query.page ? parseInt(req.query.page) : 1;
  const prod = await Product.find({})
    .skip((page - 1) * pagination)
    .limit(pagination);
  res.render("products", {
    productsList: prod,
  });
};

उपरोक्त कोड काम करता है, मैं यूआरएल को /products?page=1 से /products?page=2 आदि में बदलकर प्रति पृष्ठ 5 परिणामों तक पहुंच सकता हूं, लेकिन मुझे ऐसी कोई जानकारी/ट्यूटोरियल नहीं मिला है जिसमें 'को लागू करने का तरीका शामिल हो। अगले पेज के लिंक। मेरा मतलब यह है कि अगर मेरे पास २० उत्पाद हैं और मैं प्रति पृष्ठ ५ उत्पादों को प्रदर्शित करना चाहता हूं, तो मैं यह कैसे सुनिश्चित कर सकता हूं कि नीचे ४ से अधिक 'अगले पृष्ठ' लिंक नहीं होंगे। क्या मुझे अपने नियंत्रक के अंदर पृष्ठों की संख्या की गणना करनी है और इसे अपने ईजे में एक चर के रूप में पास करना है और सही मात्रा में लिंक प्रदर्शित करना है?

मैं बस यह सुनिश्चित करने की कोशिश कर रहा हूं कि मैं स्केलिंग को ध्यान में रखते हुए इसके लिए सही दृष्टिकोण अपनाऊं क्योंकि मैं इसके लिए अपेक्षाकृत नया हूं! किसी भी मदद की सराहना की जाती है

0
j roc 1 पद 2020, 01:57

1 उत्तर

सबसे बढ़िया उत्तर

यह अच्छा है कि आप उत्पाद को किसी वस्तु के अंदर वापस कर दें। आप इसका उपयोग गिनती वापस करने के लिए भी कर सकते हैं:

  res.render("products", {
    productsList: prod,
    count: await Product.count({})
  });

'पेजिनेशन' द्वारा विभाजित पृष्ठ संख्या है।

1
Tobias Nickel 1 पद 2020, 03:17