我有一个嵌套的域对象,其结构如下:
class Domain {
//range key
private final Integer Id;
//hash key
private final String accountId;
//some fields and this list nested //(below)
private final List<Integer> list ;
}
所以我已经保存了域。我想使用嵌套的子列表更新为null。所以基本上我正在寻找部分更新。
Integer Id=1000;
String accountId="1001";
list = null;
但是我没有看到更新发生……这可能是原因。下面的代码只是文档中样本的复制粘贴。
代码:
item_key.put(COLUMN_NAME_ACCOUNT_ID,
item_key.put(COLUMN_NAME__ID, AttributeValue.builder().n(String.valueOf(domain.getId())).build());
HashMap<String, AttributeValueUpdate> updated_values = new HashMap<String, AttributeValueUpdate>();
List<AttributeValue> list = new ArrayList<>();
updated_values.put(COLUMN_NAME_LIST, AttributeValueUpdate.builder()
.value(AttributeValue.builder().l(list).build())
.action(AttributeAction.PUT)
.build());
UpdateItemRequest request = UpdateItemRequest.builder()
.tableName(tableName)
.key(item_key)
.attributeUpdates(updated_values)
.build();
UpdateItemResponse response = dynamoDbAsyncClient.updateItem(request).getNow(null);
Domain updated = mapToDomain(response.attributes());
return updated;`