Изменить существующий атрибут внутри списка в DynamoDB - PullRequest
0 голосов
/ 01 мая 2020

У меня есть список внутри объекта, хранящийся в DynamoDB.

list[{

        "comments": "fist comment",
        "value": "my value"
    },
    {

        "comments": "second comment",
        "value": "my value 2"
    }]

Мне нужно обновить комментарии 1-го элемента в списке.

UpdateItemSpec updateItemSpec = new UpdateItemSpec()
                .withPrimaryKey("ItemKey", itemKey, "ItemName", itemName)
                .withUpdateExpression("set list[0].comments =:UserComment_v")
                .withValueMap(new ValueMap().withString(":UserComment_v", "My Comments 3"))
                .withReturnValues(ReturnValue.UPDATED_NEW);
        table.updateItem(updateItemSpec);

Но я получаю исключение:

 com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The document path provided in the update expression is invalid for update (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException
...