小编Spy*_*El.的帖子

DynamoDb Java API - 如果计数器增量不存在则插入

我正在尝试插入不存在的项目并将其计数器设置为 1 或在它存在时将计数器增加 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));
Run Code Online (Sandbox Code Playgroud)

当我将更新表达式更改为set #c = #c + :val它时,它会更新现有项目,但如果它不存在,则不会插入新项目。

set #c = :val 似乎对存在和不存在都有效,但这不是我需要的。

amazon-dynamodb

4
推荐指数
1
解决办法
1379
查看次数

标签 统计

amazon-dynamodb ×1