【发布时间】:2019-06-12 12:11:12
【问题描述】:
我正在尝试插入不存在的项目并将其计数器设置为 1 或在它存在时将计数器加一,但它似乎不起作用...
这是我到目前为止所做的:
UpdateItemSpec updateItemSpec = new UpdateItemSpec()
.withPrimaryKey("Id", Id)
.withReturnValues(ReturnValue.ALL_NEW)
.withUpdateExpression("set #c = if_not_exists(#c = :val, #c + :val)")
.withNameMap(new NameMap()
.with("#c", "counter"))
.withValueMap(new ValueMap()
.withNumber(":val", 1));
当我将更新表达式更改为 set #c = #c + :val 时,它会更新现有项目,但如果新项目不存在则不会插入。
set #c = :val 似乎对存在和不存在都有效,但这不是我需要的。
【问题讨论】:
-
在这里找到答案stackoverflow.com/questions/32777374/… 这是正确的更新表达式 ADD #c :val
标签: amazon-dynamodb