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



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

我如何使用*?下面是我的代码查询发电机数据库:

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是字符串

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

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

相关内容

  • 没有找到相关文章

最新更新