目前,Ruby AWS 开发工具包中的 ItemCollection#query 方法返回整个数据集。我查看了 Ruby AWS 开发工具包源代码中是否存在分页的可能性,但最接近分页的选项是:limit
, no pagination。根据 Amazon 的 DynamoDB API(HTTP,不是 Ruby)文档,查询操作建议可以使用响应键进行分页LastEvaluatedKey
:
查询操作停止的项目的主键,包括上一个结果集。使用此值启动新操作,在新请求中排除此值。当整个查询结果集完成时(即操作处理“最后一页”),LastEvaluatedKey 为空。
所以我可以通过添加:limit
选项来进行分页,然后在我的 last 之后对范围值进行下一个查询Item
,但是除非我进行完整查询,否则我不知道总计数是多少。
有没有更好/更简单的方法来实现分页?