带有分页的下一页链接

Next page links with pagination

我已经在我的控制器文件中实现了分页

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,
  });
};

上面的代码有效,我可以通过将 URL 从 /products?page=1 更改为 /products?page=2 等来访问每页 5 个结果,但我无法找到任何 information/tutorials,包括如何实现 'next page' 链接。我的意思是,如果我有 20 个产品,并希望每页显示 5 个产品,我如何确保底部的链接不会超过 4 个 'next page'。我是否必须计算控制器内的页面数量并将其作为变量传递给我的 ejs 并显示正确数量的链接?

我只是想确保在考虑缩放的情况下采取正确的方法,因为我对此比较陌生!感谢任何帮助

很好,您已经return 某个对象中的产品。你也可以用它来 return 计数:

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

除以'pagination'就是页数。