我正在使用Amazon DynamoDB数据库,并且有一个包含各种字符串作为键的项目列表。我想查询键包含子字符串的项目。例如,如果某些键是:
“abcd_aaa”
“abcd_bbb”
“abcd_ccc”
我想查询键包含“abcd”的位置,并且将返回这3个项目。这可能吗?
最佳答案
您只能使用相等运算符(hashKey
)查询EQ
。话虽这么说,如果这些值(“abcd_aaa”,“abcd_bbb”,“abcd_ccc”)属于您的hashKey
,那么您必须完全提供它们。另一方面,Query
操作的确允许在rangeKey
上进行部分匹配,并带有一些其他比较运算符的选项:
EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN
有关更多详细信息,请参见
Query
documentation。一种可能性是使用
hashKey and rangeKey
,其中代码的第一部分是hashKey
,最后一部分是rangeKey
,例如:hashKey : abcd
rangeKey : aaa
通过按
hashKey
(abcd)查询时执行此操作,您将收到按rangeKey
排序的所有三个记录