【问题标题】:How to use wild card character * in dynamodb query operation?如何在dynamodb查询操作中使用通配符*?
【发布时间】:2019-10-23 04:00:55
【问题描述】:

我正在使用 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 是一个字符串

【问题讨论】:

    标签: ruby amazon-dynamodb aws-sdk


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多