Amazon dynamodb 在dynamodb中将属性值更新为空白(“空”)

Amazon dynamodb 在dynamodb中将属性值更新为空白(“空”),amazon-dynamodb,Amazon Dynamodb,如何将DynamoDB表中的属性值更新为“” 一种方法是将项目放入文档中,然后将所有属性复制到新文档中,除了其值将更新为“”的属性之外,然后调用putitem,这将基本上替换整个项目(因为散列键存在),并且由于我不再具有该属性,它将被删除 注意:我可以简单地删除项,但我的要求是更新多个属性值,其中一个为空 如果有更好的方法,请建议我 提前感谢。DynamoDB允许使用UpdateItemRequest(Java SDK)在现有行中进行更新 如以下示例所示: Map<String, Attr

如何将DynamoDB表中的属性值更新为“”

一种方法是将项目放入文档中,然后将所有属性复制到新文档中,除了其值将更新为“”的属性之外,然后调用putitem,这将基本上替换整个项目(因为散列键存在),并且由于我不再具有该属性,它将被删除

注意:我可以简单地删除项,但我的要求是更新多个属性值,其中一个为空

如果有更好的方法,请建议我


提前感谢。

DynamoDB允许使用UpdateItemRequest(Java SDK)在现有行中进行更新

如以下示例所示:

Map<String, AttributeValueUpdate> updateItems = new HashMap<String, AttributeValueUpdate>();

updateItems.put("columnToRemove", new AttributeValueUpdate()
                                      .withAction(AttributeAction.DELETE));

updateItems.put("columnToRemove2", new AttributeValueUpdate()
                                      .withAction(AttributeAction.DELETE));

UpdateItemRequest updateItemRequest = new UpdateItemRequest()
                                          .withTableName(tableName)
                                          .withKey(itemKey)
                                          .withAttributeUpdates(updateItems);

UpdateItemResult result = client.updateItem(updateItemRequest);
Map updateItems=new HashMap();
updateItems.put(“columnToRemove”,新的AttributeValueUpdate()
.withAction(AttributeAction.DELETE));
updateItems.put(“columnToRemove2”,新的AttributeValueUpdate()
.withAction(AttributeAction.DELETE));
UpdateItemRequest UpdateItemRequest=新的UpdateItemRequest()
.withTableName(tableName)
.withKey(itemKey)
.带有属性更新(更新项);
UpdateItemResult=client.updateItem(updateItemRequest);

您也可以这样做

Table table = dynamoDB.getTable("myTable");
table.updateItem(new PrimaryKey("<MY HASH KEY NAME>", <MY HASH VALUE>), new AttributeUpdate("columnToRemove").delete());
Table Table=dynamoDB.getTable(“myTable”);
table.updateItem(新的PrimaryKey(“,”),新的AttributeUpdate(“columnToRemove”).delete();

非常感谢,我还发现如果我使用文档模型并将属性值设置为NULL或“”,那么AWS SDK将为我执行删除操作。