当前位置: 首页 > 知识库问答 >
问题:

DynamoDB中的向前和向后分页

吕骞尧
2023-03-14

我正在使用DynamoDB和NodeJS在UI上登记一些对象。这个列表很长,因为DynamoDB一次最多可以扫描/查询1MB的数据,所以我决定使用分页,所以在前端我有上一个下一个按钮从当前来回分页页面。

我的问题是,我想使用DynamoDB Query功能,基于所选的DynamoDB索引,一次从表X检索20个项目
假设我刚刚获取了最初的20个结果(0-20),所以单击“下一步”按钮,我想获取结果:21-40等等。另外,我想启用向后分页,因此当我在显示结果41-60的页面上时,Back按钮将再次获取结果21-40。
据我所知,DynamoDB不支持数字偏移。

如何实现向后和向前分页?我是DynamoDB的新手,请帮帮我。


共有3个答案

周泰
2023-03-14

在dynamodb中不能使用页码,但对于查询(并且仅限于查询),可以使用--scan index forward选项向后移动。

指定索引遍历的顺序:如果为true(默认),则按升序执行遍历;如果为false,则按降序执行遍历。

AWS DynamoDB CLI查询

所以您可以使用LastEvaluatedKey进行正向分页,并使用scan index forward选项使用数据中的第一个键进行反向分页

包修贤
2023-03-14

DynamoDB中的分页功能依赖于LastEvaluatedKey。你应该能够做你想做的事情,并使用页面大小始终为20个项目。它本身不会是数值偏移量。

胡飞鹏
2023-03-14
匿名用户

虽然DynamoDB将只向前分页数据,但您必须在前端处理向后分页。

对于大型(超过1MB大小),DynamoDB的功能是:

  1. 高达1MB的扫描或查询。

LastEvalue atedKey保存在ScanQuery期间从DynamoDB获取的最后一个对象的值。

您需要做什么(在后端):

  1. 使用DynamoDB查询的LIMIT属性指定您只需要20项。

你需要做什么(在前端):

>

  • 保留一个对象数组arr[]以承载分页键。

    将变量page初始化为-1,其值将指示当前页面用户处于打开状态。

    现在,您只有一个页面,page表示您在第0页,arr包含下一页的页面键。

    代码的Next按钮应遵循以下逻辑:

    请求您的服务器使用ExclusiveStartKey=arr[page]获取下一页

    当下一页的结果到达时,您将再次拥有另一个LastEvalue atedKey,因此再次将其推入arr并递增page。所以你在这里得到了图片,我们如何保存页面键。

    Back按钮的代码应遵循以下逻辑:

    由于page变量表示当前页面,因此page-1将表示上一页。所以:
    如果(page-1

    您必须在返回时进行管理

  •  类似资料:
    • 问题内容: 我在一个应用程序中工作,我们需要将对象保存为XML格式,并在以后需要时加载它们。为此,我使用JAXB将XML编组和解编回Java类。 我的问题是我必须在某个时候更改Java模型(通过添加,重命名或删除属性),结果,我将拥有不兼容的保存XML,无法将其绑定回新的类形式。 为了解决这个问题,每次必须进行更改时,我都会在一个新程序包(以其版本命名)下复制所有类的副本,并应用所请求的更改。并且

    • Google正在弃用Google Cloud消息传递,转而采用Firebase Cloud消息传递: Firebase云消息传递(FCM)是GCM的新版本。它继承了可靠和可扩展的GCM架构体系,加上新功能!查看常见问题解答了解更多信息。如果要在新应用中集成消息,请从FCM开始。强烈建议GCM用户升级到FCM,以便在今天和将来受益于新的FCM功能。 根据我在服务器上进行的一些测试,FCM URL(h

    • 本文向大家介绍前向 后向算法相关面试题,主要包含被问及前向 后向算法时的应答技巧和注意事项,需要的朋友参考一下 https://blog.csdn.net/xueyingxue001/article/details/52396494

    • 我使用AWS托管API网关和DynamoDB直接集成。 我现在正在尝试为我的应用程序添加分页功能,我很难100%实现它。我面临的问题是当我向后扫描时,我会给你一个例子来更好地理解这个问题。 想象一下,我有一个包含20个项目的列表,页面大小为5。 当我查询我的表时,第一个查询将返回。预期的行为 当我查询表时,将第五个元素中的lastEvaluatedKey传递给它,它返回。预期行为。 现在,当我使用

    • 问题内容: 在我的相机应用中,您可以在前后相机之间切换。当我使用后置摄像头拍照时,照片与预览显示的一样。但是当我切换到前置摄像头时,图片是镜像的。我认为这与前置摄像头和后置摄像头处于横向模式有关。我已经尝试了几乎所有给定的答案。 如果有人可以向我指出正确的方向,那将真的有帮助。 问题答案: 我找到了答案,这样做没有帮助。我必须镜像生成的位图才能获得所需的结果。我使用Matrix方法来实现这一目标。

    • 问题内容: 有没有一种很好的方法来区分python中的行向量和列向量?到目前为止,我正在使用numpy和scipy,到目前为止,我看到的是,如果我要给一个向量,说 他们无法说天气,我的意思是行或列向量。此外: 在“现实世界”中哪一个根本是不正确的。我意识到上述模块中向量上的大多数功能都不需要区分。例如,或者我想为自己的方便而与众不同。 问题答案: 您可以通过向数组添加另一个维度来明确区分。 现在将