如何解决如何通过+其他键之间的字符串查询DynamoDB
我正在尝试设计一个满足以下条件的DynamoDB查询:
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'
但是在某些情况下,我想查询3个属性,而不仅仅是日期。
因此,我想要一个解决方案,允许我通过所有可能的过滤组合进行查询:type
,category
,date between
,type + category
,type + date between
,category + date between
type + category + date between
。
如何将此between
操作与GSI中的其他属性结合起来?
解决方法
我最终创建了一个新的全局二级索引,我将date
单独存储在排序键中,这使我可以毫无问题地使用between
Dynamo操作。
缺点是我必须为这样一个简单的查询创建一个新的GSI。但是正如许多人在这里所说的那样,DynamoDB似乎并不是这项工作的“正确/最佳”工具。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。