Yeni AWS DynamoDB document API, doğrudan temel JSON temsiline karşılık gelen 2 yeni veri türüne izin verir: Harita (aka JSON nesnesi) ve Liste (aka JSON dizisi). Bununla birlikte, bu veri türlerinin niteliklerini, bunları tamamen üzerine yazmadan güncelleştirmenin bir yolunu bulamıyorum. Buna karşılık, bir Sayı niteliği gibi bir şey yapabilirsiniz Java böylece, başka bir numara ekleyerek güncellenebilir:AWS DynamoDB belge API'sinde bir Harita veya Liste nasıl güncellenir?
new AttributeUpdate("Some numeric attribute").addNumeric(17);
Benzer yapabilirsiniz Set veri türünde bir öznitelik için addElements. (Eski API'da, AttributeAction.ADD'yi her iki amaç için de kullanırsınız.)
Bir Harita veya Liste için, önceki değeri yerel olarak güncellemeniz gerektiği, ardından bu değer yerine PUT yerine, örneğin Java'da olduğu gibi görünecektir. :
List<String> list = item.getList("Some list attribute");
list.add("new element");
new AttributeUpdate("Some list attribute").put(list);
Bu, çok daha az okunabilir ve bazı durumlarda çok daha az verimlidir.
Yani benim sorular şunlardır:
önceki değerini üzerine yazmadan bir harita veya bir liste veri türünde bir öznitelik güncelleştirmek için bir yolu var mı? Örneğin, bir Listeye öğe eklemek veya bir öğeyi Haritaya yerleştirmek için?
Java API'yi kullanarak nasıl uygularsınız?
Gelecekte bunu destekleme planlarını biliyor musunuz? Aşağıdaki gibi kodla listeyi güncelleyebilir
{ "hashkey": {"S" : "my_key"}, "my_list" : {"L": [{"N":"3"},{"N":"7"} ] }
:
nasıl bahsediyor yeni belgeler var öğeleri listelere eklemek; http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.UpdateExpressions.html#Expressions.UpdateExpressions.SET.UpdatingListElements –