我有一个带有“计数”数字字段的 DynamoDB 表。我正在使用 AttributeAction.ADD 增加字段。它可以工作,但是当我重新运行我的应用程序时,它不会增加现有值,而是再次从“1”开始。
我期待着:
run #1: 1,2,3,4,5
run #2: 6,7,8,9,10
相反,我看到:
run #1: 1,2,3,4,5
run #2: 1,2,3,4,5
我究竟做错了什么?这是我在我的应用程序中运行的代码:
Map<String, AttributeValueUpdate> updateItems = new HashMap<String, AttributeValueUpdate>();
Key key = new Key().withHashKeyElement(new AttributeValue().withS(targetKey));
updateItems.put("count",
new AttributeValueUpdate()
.withAction(AttributeAction.ADD)
.withValue(new AttributeValue().withN("1")));
ReturnValue returnValues = ReturnValue.ALL_NEW;
UpdateItemRequest updateItemRequest = new UpdateItemRequest()
.withTableName(tableName)
.withKey(key)
.withAttributeUpdates(updateItems)
.withReturnValues(returnValues);
UpdateItemResult result = dynamoDB.updateItem(updateItemRequest);