Как удалить элемент из набора строк с помощью Java SDK на DynamodB - PullRequest
0 голосов
/ 23 мая 2019

У меня есть элемент с атрибутом «users» типа stringset, который содержит 2 элемента: «u1», «u2». я пытаюсь удалить "u1" из "users"

но я получаю следующую ошибку: com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: недопустимое выражение UpdateExpression: синтаксическая ошибка; токен: ": u", рядом: "[: u]" (Сервис: AmazonDynamoDBv2; код состояния: 400; код ошибки: ValidationException;

вот код, который я использую:

         UpdateItemSpec updateItemSpec = new UpdateItemSpec() 
            .withPrimaryKey(hashKeyFieldName, hashKeyValue)
            .withUpdateExpression("delete #us[:u]") 
            .withNameMap(new NameMap() 
            .with("#us", stringSetFieldName)) 
            .withValueMap(new ValueMap() 
            .withString(":u", "u1")) 
            .withReturnValues(ReturnValue.ALL_NEW);  
            UpdateItemOutcome outcome =  table.updateItem(updateItemSpec);
...