问题描述
get items by type,category,and date between(date_1,date_2)
我已经在全局二级索引中存储了以下属性:
- 类型(字符串)
- 类别(字符串)
- 日期(字符串)
我知道我可以使用between
运算符按给定的日期字符串进行查询:
gsi_1_pk = 'products' and gsi_1_sk between '2019-01-01T00:00:00.000Z' and '2019-01-01T00:00:00.000Z'
因此,我想要一个解决方案,允许我通过所有可能的过滤组合进行查询:type
,category
,date between
,type + category
,type + date between
,category + date between
type + category + date between
。
如何将此between
操作与GSI中的其他属性结合起来?
解决方法
我最终创建了一个新的全局二级索引,我将date
单独存储在排序键中,这使我可以毫无问题地使用between
Dynamo操作。
缺点是我必须为这样一个简单的查询创建一个新的GSI。但是正如许多人在这里所说的那样,DynamoDB似乎并不是这项工作的“正确/最佳”工具。