如果我有一个 DynamoDB 表,其中 UserID 作为键,数字作为值,我可以在单个操作中增加该数字/值吗?还是我需要把它读出来,增加并写回去?
谢谢
DynamoDB 支持原子计数器的概念。您只需调用 update_item withaction: "ADD"
即可自动增加项目的值。
正如其他人所说,您可以通过一个操作递增,但是现在不推荐使用“action: ADD”。当前实现此目的的方法是使用 UpdateExpression。我还假设 OP 意味着有一个数字 [属性] 的值需要增加。我正在调用属性 loginCount:
dynamoDB.updateItem({
TableName: "Users",
Key: { "UserId": { S: "c6af9ac6-7b61" } },
ExpressionAttributeValues: { ":inc": {N: "1"} },
UpdateExpression: "ADD loginCount :inc"
})
如果您正在寻找类似 MySQL 的自动增量功能,那么不,这在 DynamoDB 中是不可能的。