2016-03-30 20 views
3

'daki belirli bir karmanın tüm sıralama anahtarlarını tarayın. Örneğin, hash anahtarı olarak userID içeren bir tablom var. Aynı tablo, aralık anahtarı olarak commentID içerir. Belirli bir userID ile ilgili tüm girdileri bulmak istiyorum. Java SDK'yi kullanarak, belirli bir hash anahtarına sahip tüm öğeleri almanın en etkili yolu nedir?DynamoDB

ÇÖZÜM
İşte öyle yapmıştım:

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

Sadece hash anahtarınızın tüm değerlerini almak için query veya getItem kullanın ..! –

cevap

1

yolu DynamoDB bir karma anahtar Query denir "tarama" ile. Belirli bir karma için tüm öğeleri almak için bu API'yi DynamoDBMapper veya Document API ile birlikte kullanın.