我正在使用 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 是一个字符串
最佳答案
您可以使用 Scan API获取 DynamoDB 表中的所有项目。如果你只需要主键,你可以使用 ProjectionExpression="IdType"
限制您发回的数据量。
db_client.scan({table_name: "my_table_name"})
关于ruby - 如何在dynamodb查询操作中使用通配符*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38708184/