amazon-web-services - 如何通过项目的属性对 dynamodb 查询结果进行排序?
问题描述
所以我需要通过items上的时间戳对查询结果进行排序,我看到我可以使用ScanIndexForward
,但是我怎么能说它需要比较时间戳呢?
谢谢!
解决方案
DynamoDB 使用主键来唯一标识数据库中的项目。主键由Partition Key和可选的 Sort Key组成。排序键允许 DynamoDB 对您的数据进行排序。
出于说明目的,假设您想要建模一个电子邮件收件箱,允许用户按收到的日期对他们的电子邮件进行排序。您的表格可能如下所示:
我使用用户电子邮件地址作为分区键(PK)和时间戳(收到日期)作为排序键(SK)。PK 和 SK 共同构成了唯一的主键,它代表给用户的一封电子邮件。
当您执行查询以获取用户电子邮件时,DynamoDB 将使用排序键对结果进行排序。默认情况下,结果将按升序排列 ( ScanIndexForward=true
) 如果您想要降序排列,您可以使用ScanIndexForward=false
.
推荐阅读
- fabricjs - fabric.js 3.6 - 更改分组对象时,组的边界框不会更新
- javascript - 如何使用 npm run build、npm run export、npm run serve 来运行 react app
- javascript - Quasar 弹出日历显示当前日期
- laravel - Laravel Horizon 队列一直暂停一分钟
- python-3.x - Python 和正则表达式:re findall() 的问题
- firebase - 如何防止 Firebase 分析中的虚假事件
- python - ImportError:没有名为torch的模块
- gcc - 如何在 arago 项目嵌入式 linux 中安装 gcc?
- python - 为什么多线程在我的代码中效率不高?
- firebase - 路径上的 Firestore 安全性