我正在使用 Amazon DynamoDB 数据库,并且我有一个以各种字符串作为键的项目列表。我想查询其键包含子字符串的项目。例如,如果某些键是:
“abcd_aaa”
“abcd_bbb”
“abcd_ccc”
我想查询一个键包含“abcd”的位置,这三个项目将被返回。这可能吗?
最佳答案
您只能查询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
排序的所有三个记录
关于amazon-web-services - Amazon DynamoDB 查询其键包含子字符串的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30134701/