2016-03-30 6 views
3

たとえば、私はハッシュキーとしてuserIDを持つテーブルを持っています。同じテーブルには、範囲キーとしてのcommentIDが含まれています。特定のユーザーIDに関連するすべてのエントリを検索したい。 java SDKを使用すると、特定のハッシュキーを持つすべてのアイテムを取得する最も効率的な方法は何でしょうか。DynamoDB内の特定のハッシュのすべてのソートキーをスキャンします。

SOLUTION
は、ここで私はそれをやった方法は次のとおりです。DynamoDBの中にハッシュキーを "スキャン" する

QuerySpec spec = new QuerySpec() 
       .withKeyConditionExpression("userID = :v_id") 
       .withValueMap(new ValueMap() 
        .withString(":v_id", user.getId())); 

ItemCollection<QueryOutcome> items = table.query(spec); 

Iterator<Item> iterator = items.iterator(); 
Item item = null; 
while (iterator.hasNext()) { 
     item = iterator.next(); 
     System.out.println(item.toJSONPretty()); 
} 
+0

クエリまたはgetItemを使用して、ハッシュキーのすべての値を取得するだけです。 –

答えて

1

方法がQueryと呼ばれています。 このAPIをDynamoDBMapperまたはDocument APIと共に使用して、特定のハッシュのすべての項目をフェッチします。

関連する問題