2016-08-01 90 views
2

我使用aws-ruby-sdk來訪問dynamodb。我想使用查詢操作並獲取所有項目。所以我在expression_attribute_values中使用通配符*。它不起作用。但是,如果我指定了一個特定的值,它就可以工作。如何在dynamodb查詢操作中使用通配符*

如何使用*?以下是我的代碼查詢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是一個String

回答

0

可以使用Scan API獲得在DynamoDB表中的所有項目。如果您只需要主鍵,則可以使用ProjectionExpression="IdType"來限制發回的數據量。