Bunu, kullanım durumunuz nedeniyle UpdateItem
API ve UpdateExpression
ile yapabilirsiniz. count
burada Number
türü olacak olduğundan, SET
veya ADD
ifadeleri kullanabilirsiniz:
ADD
için dokümantasyon Number
türleri (vurgu benim) için kullanabilirsiniz söylerse:
ADD - Öznitelik yoksa, belirtilen değeri öğeye ekler. nitelik olarak varsa, o zaman ADD'nin davranış özelliğinin verileri türüne bağlıdır: Mevcut özelliğin bir dizi ise
- ve eğer Değer sonra Değer matematiksel olarak ise, aynı zamanda bir sayıdır mevcut özniteliğe eklendi. Değer negatif bir sayıysa, mevcut öznitelikten çıkarılır.
Eğer artırır veya güncellemeden önce var olmayan bir öğe için bir dizi değer azaltma ADD kullanırsanız, DynamoDB başlangıç değeri olarak 0 kullanır. Benzer şekilde, varolan bir öğe için ADD'yi, güncelleştirmeden önce var olmayan bir öznitelik değerini artırmak veya azaltmak için kullanırsanız, DynamoDB, başlangıç değeri olarak 0 değerini kullanır. Örneğin, güncellemek istediğiniz öğenin itemcount adlı bir özniteliğe sahip olmadığını, ancak yine de bu özniteliğe 3 sayısını ADR yapmaya karar verdiğinizi varsayalım. DynamoDB itemcount özniteliğini oluşturacak, başlangıç değerini 0'a ayarlayacak ve son olarak 3'e ekleyecektir. Sonuç sizin Örneğin 3.
bir değerle, kaleminde yeni ITEMCOUNT özelliği olur, sen 1
senin UpdateExpression
:n
Number
türünde bir ExpressionAttributeValue
sahiptir ADD #c :n
olmak olabilir değerdir ve #c
, count
için ExpressionAttributeName
yerine geçer. count
için bir yer tutucu kullanmanız gerekir, çünkü bu bir reserved word.
Sorumun içinde söz etmedi Ne count
created_at
değiştirmeden sonraki olaylar için yukarı gitmek istedim oldu Modifying Items and Attributes with Update Expressions