我可以在DynamoDB GSI查询中使用' contains '吗?



我是DynamoDB的新手。如果我做一个GSI,我可以用KeyConditionExpression: contains(GSI,:val1)和contains(GSI,:val2)进行查询吗?会是全面扫描吗?

你需要做一个扫描。查询只支持begins_with>=<=><=between

参见查询关键条件表达式

没有QueryAPI,正如@Maurice所说。但是,您可以实现相同的"查询",而不是"扫描"。最终结果为ExecuteStatement和PartiQL语句,其中IN操作符应用于所讨论的索引键。例如,2个分区键值:

SELECT * from "my_table"."GSI" WHERE my_gsi_pk_key IN ['val1', 'val2']

作为查询操作执行。这个答案有一个完整的例子。

注意:您别无选择,只能在这里使用PartiQL,但通常我建议在学习DynamoDB时避免使用它。核心API更好地迫使您学习DynamoDB的习惯用法,并忘记RDBMS/SQL的思想。

相关内容

  • 没有找到相关文章

最新更新