我有一个Java应用程序,它利用DynamoDBMapper在DynamoDB中实现更容易的数据持久性。在一个用例中,我有一个非常多的项目,我希望能够手动分页通过一个角度的网页应用程序。然而,我遇到了许多讨论DynamoDBMapper对自动分页(请看这里)支持的文档,其中的结果在需要的基础上被延迟加载。
有没有办法手动分页通过我的结果?也就是说,我希望指定一个开始值(一个索引或最后加载的键)并检索最大数量的结果,以便我可以按自己的条件分页。我还没有找到任何概述如何做到这一点的文档。这个是可能的吗?
发布于 2020-04-11 13:36:44
当你得到一个QueryResultPage或ScanResultPage,你会得到getLastEvaluatedKey
。
返回最后一个评估键,该键可用作获取下一页结果的exclusiveStartKey。如果这是结果的最后一页,则返回null。
因此,您可以使用getLastEvaluatedKey
手动分页。
需要注意的是,Dynamodb只返回当前页面的键,这意味着您所能做的就是转到下一页。例如,您不可能知道在开始页面之前有多少页,或者跳到任意的页号而不迭代每一页才能到达那里。
https://stackoverflow.com/questions/61147553
复制相似问题