首页 > 解决方案 > 如何通过项目的属性对 dynamodb 查询结果进行排序?

问题描述

所以我需要通过items上的时间戳对查询结果进行排序,我看到我可以使用ScanIndexForward,但是我怎么能说它需要比较时间戳呢?

谢谢!

标签: amazon-web-servicesamazon-dynamodbdynamodb-queries

解决方案


DynamoDB 使用主键来唯一标识数据库中的项目。主键由Partition Key可选的 Sort Key组成。排序键允许 DynamoDB 对您的数据进行排序。

出于说明目的,假设您想要建模一个电子邮件收件箱,允许用户按收到的日期对他们的电子邮件进行排序。您的表格可能如下所示:

在此处输入图像描述

我使用用户电子邮件地址作为分区键(PK)和时间戳(收到日期)作为排序键(SK)。PK 和 SK 共同构成了唯一的主键,它代表给用户的一封电子邮件。

当您执行查询以获取用户电子邮件时,DynamoDB 将使用排序键对结果进行排序。默认情况下,结果将按升序排列 ( ScanIndexForward=true) 如果您想要降序排列,您可以使用ScanIndexForward=false.


推荐阅读