作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 DynamoDB 和 NodeJS 在 UI 上登记一些对象。列表很长,因为 DynamoDB 一次最多可以扫描/查询 1MB 的数据,所以我决定使用分页,所以在前端我有 Previous
和 Next
从当前页面来回分页的按钮。
我的问题是我想从 Table X
一次检索 20 个项目通过使用 DynamoDB Query
基于所选 DynamoDB Index
的功能.
假设我刚刚获取了最初的 20 个结果(0-20),所以单击下一步按钮我想获取结果:21-40 等等。另外,我想启用向后分页,所以当我在显示结果的页面上时:41-60,Back
按钮将再次获取结果:21-40。
据我了解,DynamoDB 不支持数值偏移。
如何实现向后和向前分页?我是 DynamoDB 的新手,请帮帮我。
最佳答案
虽然 DynamoDB 只会对您的数据进行正向分页,但您必须在 中处理反向分页。前端 .
大型Tables
( 超过 1MB 大小 ),什么 DynamoDB
做:
LastEvaluatedKey
获取下一组数据或 下一页 .此值用作 分页键 在 前端 来回分页。
LastEvaluatedKey
holds the value of the last object fetched from DynamoDB during aScan
orQuery
.
LIMIT
DynamoDB Query
的属性(property)指定您只需要 20 个项目。 ExclusiveStartKey
DynamoDB Query
的属性(property)指定下一组数据将从该属性的指定值开始。 arr[]
托管分页键。 page
初始化为-1,其值将指示当前页面用户在。 LastEvaluatedKey
,插入arr
并增加 page
. Now, you have a single page and
page
indicates you're on Page 0 andarr
contains Page Key of next page.
Next
的代码按钮应遵循以下逻辑:arr
请求您的服务器获取下一页[ page
] LastEvaluatedKey
,所以再次将其插入 arr
并增加 page
.所以你在这里得到图片,我们如何保存页面键 . Back
的代码按钮应遵循以下逻辑:page
变量表示当前页面所以page - 1
将指示上一页。所以: if ( page-1
>=0) 请求您的服务器使用 ExclusiveStartKey = arr
获取下一页[ page - 1
] Back
时进行管理&
Next
使用
arr[]
可以单击按钮和
page
获取每个页面后的变量。
关于javascript - DynamoDB 中的正向和反向分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61414775/
我是一名优秀的程序员,十分优秀!