【发布时间】:2020-05-17 03:57:53
【问题描述】:
我有一个包含很多字段的 dynamoDB 表。有没有办法对其进行查询并接收根据用户在运行时使用 AWS SDK for java 选择的特定字段排序的结果?
我知道.withScanIndexForward() 允许定义它是升序还是降序,但我想告诉每次请求查询时要对哪一列进行排序。
【问题讨论】:
标签: java amazon-web-services amazon-dynamodb
我有一个包含很多字段的 dynamoDB 表。有没有办法对其进行查询并接收根据用户在运行时使用 AWS SDK for java 选择的特定字段排序的结果?
我知道.withScanIndexForward() 允许定义它是升序还是降序,但我想告诉每次请求查询时要对哪一列进行排序。
【问题讨论】:
标签: java amazon-web-services amazon-dynamodb
不,DynamoDB 不支持通用的“按列名排序”功能。
DynamoDB 表是键/值,其中键值必须是唯一的。键可以是单个分区键或分区键和排序键的组合。您还可以创建二级索引。
如果您希望 DynamoDB 支持按特定属性(列)排序的查询,那么您需要创建一个支持它的 Global Secondary Index (GSI)。然后就可以查询GSI了。
如果没有支持的 GSI,您将不得不在客户端对查询结果进行排序。
【讨论】: