如何在nodejs + postgresql中实现分页

     2023-03-08     59

关键词:

【中文标题】如何在nodejs + postgresql中实现分页【英文标题】:How to implement pagination in nodejs + postgresql 【发布时间】:2018-06-26 04:23:58 【问题描述】:

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

提前致谢。

【问题讨论】:

如果以下答案解决了您的问题 - 请标记为正确 【参考方案1】:

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

选择 * 从项目 限制 itemsPerPage 偏移量 (page - 1) * itemsPerPage

LIMIT 表示检索 X 个项目,OFFSET 表示跳过 Y 个项目。它们两者的组合将是:“跳过 Y 项并给我下一个 X 项”。 Page - 1 表示如果您在第一页,我们不想跳过任何项目,而是检索前 X 个项目。这在页码 >= 1 时有效。

【讨论】:

我很高兴它做到了@ajaysaini。请把我的答案标记为正确的:)【参考方案2】:

您可以在用于分页排序的列上使用索引。您可以在列值(唯一值)上使用 where 条件来提高效率,而不是限制和偏移量。我已经创建了一个关于这个https://medium.com/@shikhar01.cse14/pagination-with-postgresql-18e0b89e0b1c的帖子

【讨论】:

如何在 postgresQL 查询中实现数学表达式?

】如何在postgresQL查询中实现数学表达式?【英文标题】:HowtoachievemathematicalexpressioninpostgresSQLquery?【发布时间】:2018-07-1215:38:31【问题描述】:我有一种需求,从PostgreSQL数据库表中找出“主余额”。在这里,逻辑同样非常简单... 查看详情

如何在 PostgreSQL 中实现多对多关系?

】如何在PostgreSQL中实现多对多关系?【英文标题】:Howtoimplementamany-to-manyrelationshipinPostgreSQL?【发布时间】:2012-04-0502:14:21【问题描述】:我相信标题是不言自明的。如何在PostgreSQL中创建表结构以建立多对多关系。我的例子:Pro... 查看详情

如何在 Postgresql 中实现对复杂嵌套 JSONB 的全文搜索

】如何在Postgresql中实现对复杂嵌套JSONB的全文搜索【英文标题】:HowtoimplementfulltextsearchoncomplexnestedJSONBinPostgresql【发布时间】:2018-01-2216:06:21【问题描述】:我将相当复杂的JSONB存储在一个jsonb列中。数据库表如下:CREATETABLEsites(... 查看详情

如何在 NodeJS 中实现带有子域的 csrf

】如何在NodeJS中实现带有子域的csrf【英文标题】:HowtoimplementcsrfwithsubdomainsinNodeJS【发布时间】:2021-01-0103:08:48【问题描述】:constcsrfProtection=csrf(cookie:domain:\'.\'+config_web.domain,secure:true,httpOnly:true,//sameSite:\'none\',);app.use( 查看详情

如何使用 nodejs 和 express 在 REST API 中实现搜索和过滤

】如何使用nodejs和express在RESTAPI中实现搜索和过滤【英文标题】:HowtoimplementsearchandfilteringinaRESTAPIwithnodejsandexpress【发布时间】:2014-11-2408:37:17【问题描述】:我正在通过构建RESTAPI来学习和玩Node和Express。我没有任何数据库来存... 查看详情

线程池是如何工作的,以及如何在 NodeJS 之类的 async/await 环境中实现它?

】线程池是如何工作的,以及如何在NodeJS之类的async/await环境中实现它?【英文标题】:Howdoesthreadpoolingworks,andhowtoimplementitinanasync/awaitenvlikeNodeJS?【发布时间】:2019-08-0700:46:08【问题描述】:我需要运行一个带有10_000个参数的函... 查看详情

如何在浏览器中实现 HTTP/2 流连接?

】如何在浏览器中实现HTTP/2流连接?【英文标题】:HowtoimplementHTTP/2streamconnectioninbrowser?【发布时间】:2019-02-1519:06:35【问题描述】:如今,HTTP/2的性能正在上升。Node.js的最新版本很好地支持了HTTP/2。https://nodejs.org/api/http2.html但... 查看详情

如何在 javascript/HTML5/NodeJS 中实现客户端-服务器-客户端基础架构的想法

】如何在javascript/HTML5/NodeJS中实现客户端-服务器-客户端基础架构的想法【英文标题】:Ideashowtoimplementaclient-server-clientinfrastructureinjavascript/HTML5/NodeJS【发布时间】:2013-10-3123:42:05【问题描述】:我目前正在开展一个项目,其中基... 查看详情

如何在 mongodb (mongoose) 中实现食谱

】如何在mongodb(mongoose)中实现食谱【英文标题】:Howtoimplementrecipesinmongodb(mongoose)【发布时间】:2020-08-0123:36:33【问题描述】:我想创建一个基于具有猫鼬数据库背景的nodejs服务器的鸡尾酒API。API将返回带有配方的鸡尾酒我有一个... 查看详情

如何在 JPA 和自定义 UUID 标识符中实现批量插入

...8-0217:04:13【问题描述】:所以,我使用Springboot和Data-JPA和POSTGRESQL将数据插入表中:@Entity@Builder@DataclassPerson@IdUUIDid;Stringname;以及它的存储 查看详情

如何在 PostgreSQL 中自动更新时间戳

】如何在PostgreSQL中自动更新时间戳【英文标题】:HowdoIautomaticallyupdateatimestampinPostgreSQL【发布时间】:2012-03-2207:47:05【问题描述】:我希望代码能够在插入新行时自动更新时间戳,就像我在MySQL中使用CURRENT_TIMESTAMP所做的那样。... 查看详情

如何使用node js(服务器端)在移动应用中实现支付机制?

】如何使用nodejs(服务器端)在移动应用中实现支付机制?【英文标题】:Howtoimplementpaymentmechanisminmobileappusingnodejs(serverside)?【发布时间】:2019-07-2209:47:24【问题描述】:我正在为移动应用程序构建restapi。现在,我需要实施类似... 查看详情

使用 servlet 在 Java 中实现 REST Web 服务 [重复]

...这个概念。现在我想使用Java重新实现这些Web服务。在对如何在Java中实现Web服务进行了一些研 查看详情

在nodejs中实现微服务架构

...1a;一种实用方法”中讨论的那样。但是今天我们要在NodeJS中实现微服务架构。👉您可以使用任何技术,如Spring、Python等。但我们将使用NodeJS进行演示。📍目录结构🙂您可以在此处找到GitHubRepo(请在运行前在O... 查看详情

如何在 laravel 中实现 vuetify?

】如何在laravel中实现vuetify?【英文标题】:Howtoimplementvuetifyinlaravel?【发布时间】:2018-07-2123:32:58【问题描述】:我是vuetify的新手,我试图在laravel中实现它。有人已经在laravel中实现了vuetify,可以告诉我怎么做吗?我已经安装... 查看详情

如何在android中实现BottomAppBar?

】如何在android中实现BottomAppBar?【英文标题】:howtoimplementBottomAppBarinandroid?【发布时间】:2020-12-2823:06:46【问题描述】:如何在android中实现BottomAppBar。build.gradleimplementation\'com.google.android.material:material:1.0.0-beta01\'activity_main 查看详情

如何在android中实现svm模型?

】如何在android中实现svm模型?【英文标题】:Howtoimplementsvmmodelinandroid?【发布时间】:2014-05-3121:47:13【问题描述】:我在Matlab中使用svmtrain训练了分类器,现在我不知道如何在android中实现模型。甚至没有一个例子来展示如何使用... 查看详情

如何在 Gson 中实现 TypeAdapterFactory?

】如何在Gson中实现TypeAdapterFactory?【英文标题】:HowdoIimplementTypeAdapterFactoryinGson?【发布时间】:2014-04-1323:34:16【问题描述】:如何在Gson中实现TypeAdapterFactory类型?create的主要方法是泛型的。为什么?注册方法registerTypeAdapterFacto... 查看详情