如何在dynamodb查询操作中使用通配符*?

时间:2016-08-01 21:10:30

标签: ruby amazon-dynamodb aws-sdk

我正在使用aws-ruby-sdk来访问dynamodb。我想使用查询操作并获取所有项目。所以我在expression_attribute_values中使用通配符*。它不起作用。但是,如果我指定一个特定值,它就可以工作。

我如何使用*?下面是我查询dynamodb的代码:

db_client.query({
        table_name: "my_table_name",
        key_condition_expression: "#idtype = :idType",
        expression_attribute_names: {
             "#idtype" => "IdType"
         },
        expression_attribute_values: {
             ":idType" => "*",
        },
    })

我也指定*因为我想要所有的值。我想要的最终结果只是主键IdType中的唯一值,但似乎没有办法在dynamodb中具有唯一约束(不是我所知道的)所以我获取所有值并且将使用我自己的结果获得唯一值代码。

任何帮助都将不胜感激。

PS:主分区键 - IdType是一个字符串

1 个答案:

答案 0 :(得分:0)

您可以使用Scan API获取DynamoDB表中的所有项目。如果您只需要主键,则可以使用ProjectionExpression="IdType"来限制发回的数据量。

db_client.scan({table_name: "my_table_name"})