这是在我们的数据结构设计过程中提出的一个问题。目前,我们有如下数据:
class {
private String id;
private Map<String, Object> map;
...
}我们将进行一项操作,经常向地图中添加新条目。我想知道是否需要首先从DynamoDB获取数据,向映射中添加新条目,并使用修改后的数据进行DB更新?(这就是Mongo更新的工作方式。)否则,数据结构设计就不太好了。
发布于 2016-05-25 15:45:43
是的,您需要先从DynamoDB获取数据,然后添加一个新条目来映射和保存对象。
如果对象的类型为List,则可以将值追加到现有列表中。
List<String> nameList = new ArrayList<>();
nameList.add("1");
UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("Id", testId).withReturnValues(ReturnValue.ALL_NEW).withUpdateExpression("set #Names = list_append (#Names, :val1)").withNameMap(new NameMap().with("#Names", "Names"))
.withValueMap(new ValueMap().withList(":val1", nameList));
UpdateItemOutcome outcome = table.updateItem(updateItemSpec);https://stackoverflow.com/questions/37419701
复制相似问题