如何在Node.js + PostgreSQL中实现分页功能

11
我是一名Node.js的新手。我想使用express框架和Postgresql数据库在我的Api中实现分页。我希望以分页形式获取数据。
提前感谢您的帮助。

如果以下答案解决了您的问题,请将其标记为正确。 - iSkore
2个回答

32
您可以使用LIMIT和OFFSET从数据库中获取数据块。进行分页需要两个变量,即page和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时,此操作有效。

6
我很高兴它对 @ajaysaini 有帮助。请标记我的答案为正确答案 :) - Lazar Nikolov

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接