我正在创建一个应用程序,用于存储一段时间内已订阅的所有人员信息。我存储在dynamodb表中的数据是:
- personId
- beginDate
- EndDate
现在,我想编写类似的查询
- 获取某个时期(介于date1和date2之间)所有活跃的人
- 获取在特定日期活动的所有人员。
因为我正在使用dynamodb表,所以我正在考虑做到这一点的最佳方法是在开始和结束日期上使用全局哈希键并存储开始和结束日期的时间戳。
这有意义吗?还是在Dynamodb中有更好的方法呢?
答案 0 :(得分:0)
您的设计似乎正确。
您将需要2个GSI:
对于查询1 ,您需要使用
在GS1上进行查询查询2 与查询1相同,只是开始日期是日期的第一秒,结束日期是日期的最后秒。