2016-03-30 10 views
3

Zum Beispiel habe ich eine Tabelle mit Benutzer-ID als Hash-Schlüssel. Die gleiche Tabelle enthält commentID als Bereichsschlüssel. Ich möchte alle Einträge finden, die sich auf eine bestimmte Benutzer-ID beziehen. Mit java SDK, was ist die effizienteste Möglichkeit, alle Elemente, die einen bestimmten Hash-Schlüssel hat, abzurufen.Durchsuchen Sie alle Sortierschlüssel eines bestimmten Hash in DynamoDB

SOLUTION
Hier ist, wie ich es tat:

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

Verwenden Sie einfach Abfrage oder GetItem, um alle Werte Ihres Hash-Schlüssels zu erhalten ..! –

Antwort

1

Die Art und Weise ein Hash-Schlüssel in DynamoDB zu "scannen" wird Query genannt. Verwenden Sie diese API entweder mit dem DynamoDBMapper oder der Document API, um alle Elemente für einen bestimmten Hash abzurufen.

Verwandte Themen