如何以原子方式更新DynamoDB文档(JSON)?

时间:2016-02-20 01:00:55

标签: amazon-dynamodb

我的表中有一个属性为Document(JSON)的属性,其值为count:

{ "item1" : "5", "item2" : "7" }

DynamoDB Document API是否有办法以原子方式递增地图的值?我的应用程序将有几个主机递增值,因此只使用puts将无法正常工作,因为它们会相互覆盖。

我知道对于整数属性,我们可以在更新表达式中使用set #count = #count + :countVal进行原子计数。使用Documents有类似的东西吗?

另外,我注意到DynamoDBMapper无法进行原子计数器更新,所以我必须使用较低级别的Document API,对吗?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您将其中一个属性作为地图,并在表格中使用键值对。 Dynamodb支持表达式中的文档路径。所以你可以做到

doc.item1 = doc.item1 + :countVal

你是正确的,因为dynamodbmapper不支持原子计数器更新。虽然使用dynamodbmapper和低级API的组合似乎很常见。

相关问题