登录
首页 >  Golang >  Go问答

DynamoDB 数据分页查询

来源:stackoverflow

时间:2024-02-06 16:24:24 385浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《DynamoDB 数据分页查询》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我有以下列及其目的。

  1. id -> 存储修改的时间戳
  2. authorName -> 保存修改后的用户名
  3. authorEmail -> 保存修改过的用户邮箱
  4. version -> 值表示版本号
  5. Data -> JSON 对象

这里,version可以认为是自增字段,修改时会自增。

DynamoDB 将分区键作为 id,即时间戳。

我想创建一个 GET API,它按版本降序对所有记录进行排序,并应用由 pageSize 常量控制的限制。

目前我想到的架构是发送 LastEvaluatedKey 作为响应以及数据,下一个 api 调用将传递此 LastEvaluatedKey ,这将是我在扫描操作中的 ExclusiveStartKey

根据我的理解,问题是记录无法跨多个分区排序。

有没有办法可以实现这一点?


正确答案


如果您想获取给定 id 的所有项目并按 version 按降序排序,则必须使用分区键:id 和排序键:version

select * from mytable where id=123 limit 5 desc

如果您想按版本维护全局顺序(所有项目的顺序),则必须创建全局二级索引并使用静态分区键:

gsipk version id other
1 0 123 data
1 1 376 data
1 2 292 data
1 5 101 data
1 6 123 data
1 10 403 data
1 13 191 data
1 17 403 data

今天关于《DynamoDB 数据分页查询》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>