在DynamoDB(aws-cli)中按非关键字段过滤

时间:2018-08-05 08:00:51

标签: amazon-web-services amazon-dynamodb aws-cli

我正在尝试通过aws-cli查询DynamoDB中的数字字段。 尽管我想检索queriedField等于0的所有用户,但这迫使我将键(userId)设置为某种值。这是语法:

aws dynamodb query
--table-name TableName
--key-condition-expression "userId = :userid" 
--filter-expression "mapAttr.queriedField = :num"
--expression-attribute-values '{ ":userid": { "S": "<AccountID>" }, ":num" : { "N": "0" }}' 

1 个答案:

答案 0 :(得分:0)

为了执行此查询,您将必须scan使用过滤器表达式来整个表。

但是,如果这是针对仍在开发/设计中的产品,请考虑将“数字字段”设置为顶级属性。这样一来,您就可以使用哈希键“数字字段”创建GSI,并将userId属性投影到GSI。或者,您可以使用Global Secondary Index Write Sharding for Selective Table Queries