如果我要将一个带有UserID作为键的DynamoDB表和一个数字作为值,我可以在一次操作中增加该数字/值吗?或者我是否需要阅读,增加并将其写回?
THX
答案 0 :(得分:8)
DynamoDB支持原子计数器的概念。您只需使用action: "ADD"
调用update_item即可自动增加项目的值。
答案 1 :(得分:0)
正如其他人所述,您可以通过一个操作来递增,但是现在不建议使用“ action:ADD”。当前的实现方法是使用UpdateExpression。我还假设OP意味着存在一个数值[属性],其值需要增加。我正在调用属性loginCount:
dynamoDB.updateItem({
TableName: "Users",
Key: { "UserId": { S: "c6af9ac6-7b61" } },
ExpressionAttributeValues: { ":inc": {N: "1"} },
UpdateExpression: "ADD loginCount :inc"
})
答案 2 :(得分:-2)
如果您正在寻找类似MySQL的自动增量功能,那么不,这在DynamoDB中是不可能的。