Date RangeKey 的 DynamoDB 排序顺序

DynamoDB sort order of Date RangeKey

我有一个具有以下键值的 DynamoDB table:一个简单的字符串 ID HashKey 和一个表示日期的字符串 RangeKey。日期字符串采用 YYYY-MM-DD 格式。

我现在想知道 DynamoDB 如何对其条目进行排序。当我在同一个 HashKey 上查询多个 RangeKey 值时,结果按日期升序排序。

但是,根据 Dynamo documentation,它会根据 UTF-8 字节值对所有非整数 RangeKey 进行排序。

当我现在保存以下 RangeKey 条目时:

  1. 2019-01-01
  2. 2018-12-04
  3. 2018-12-05

简单 DynamoDBMapper.query(...) 的输出导致正确的顺序:

  1. 2018-12-04
  2. 2018-12-05
  3. 2019-01-01

Dynamo 是按日期对 RangeKey 进行排序还是字节值的计算方式与日期表示相匹配?

正在以 UTF-8 字节排序。它不知道您正在对 DynamoDB 的日期进行排序,它只是一个字符串。