如何通过项的属性对dynamodb查询结果进行排序?

时间:2020-08-12 02:34:27

标签: amazon-web-services amazon-dynamodb dynamodb-queries

因此,我需要按商品上的时间戳对查询结果进行排序,我发现可以使用ScanIndexForward,但是怎么说呢,它需要比较时间戳?

谢谢! ?

1 个答案:

答案 0 :(得分:1)

DynamoDB使用主键来唯一标识数据库中的项目。主键由分区键可选 排序键组成。排序键使DynamoDB可以对数据进行排序。

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

enter image description here

我将用户的电子邮件地址用作分区密钥(PK),并将时间戳记(接收日期)用作排序密钥(SK)。 PK和SK共同构成了唯一的主键,代表发给用户的一封电子邮件。

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