在DynamoDB表中没有排序键的全局二级索引有什么意义?

shl*_*821 1 amazon-web-services nosql amazon-dynamodb

假设我已经在表上有分区键,我正在添加一个全局二级索引.没有排序键创建这个GSI有什么意义?我读到的关于GSI的内容越多,AWS似乎就会强调GSI在指定您自己的分区密钥和排序密钥方面的灵活性.我不太确定在没有指定排序键的情况下添加GSI的用法.

Nic*_*tov 6

只有分区键的GSI允许您使用您选择作为分区键的属性查询DynamoDB表.

例如,如果您有一个包含三个属性的表:

  1. userId
  2. username
  3. updatedAt

如果你的表的主键包括让我们说userId作为分区键和updatedAt排序键(它将允许你查询表中按更新日期排序的用户列表),那么你可以添加一个只有username作为分区的GSI 查询特定用户名的相同表的关键.