如何在nodejs + postgresql中实现分页

aja*_*ini 5 postgresql pagination node.js express

我是Node.js的新手.我想在Node.js中使用express作为框架和Postgresql作为数据库在Api中编写分页.我希望以分页的形式获取数据.

提前致谢.

Laz*_*lov 12

您可以使用LIMIT和OFFSET从数据库中获取数据块.您需要2个变量来执行分页,页面和itemsPerPage.您将从路径本身获取页面变量,例如/ api/items /:page,对于itemsPerPage,您可以将其设置为默认的20个项目,但允许客户端通过查询指定它?items = 50或请求正文或标题或您想要的.然后,如果您有两个变量,则可以对数据库执行查询,例如:

SELECT *
    FROM items
    LIMIT {itemsPerPage} OFFSET {(page - 1) * itemsPerPage}

LIMIT表示检索X个项目,OFFSET表示跳过Y个项目.它们两者合二为一:"跳过Y项,让我得到下一个X项".Page - 1表示如果您在第一页上我们不想跳过任何项目,而是检索前X项.当页码> = 1时,这是有效的.

  • 我很高兴它做到了@ajaysaini。请把我的答案标记为正确的答案:) (2认同)