【发布时间】:2020-10-27 15:15:16
【问题描述】:
GROUPS
userID: string
groupID: string
lastActive: number
birthday: number
假设我有一个名为 GROUPS 的 DynamoDB 表,它存储具有这些属性的项目。该表记录了哪些用户加入了哪些组。用户可以同时在多个组中。因此,复合主键最常见的是:
partition key: userID
sort key: groupID
但是,如果我想查询特定组中的所有用户,在特定生日范围内,按lastActive 排序,这可能吗?如果可以,我需要创建什么索引?
我可以合成 lastActive 和 userID 来创建合成排序键,如下所示:
GROUPS
groupID: string
lastActiveUserID: string (i.e. "20201230T09:45:59-abc123")
birthday: number
这将产生一个不同的复合主键,其中分区键为groupID,排序键为lastActiveUserID,这将按照参与者上次活动的时间对参与者进行排序,然后是按生日过滤的二级索引?
【问题讨论】:
标签: amazon-dynamodb