如何在仅更新特定字段的dynamo db中进行批量更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在仅更新特定字段的dynamo db中进行批量更新相关的知识,希望对你有一定的参考价值。

该表包含以下字段:deviceId,userId,key,validity

这是我的批量更新代码

TableWriteItems writeItems = new TableWriteItems(getDevicesTableName(manufacturer, sdkType));

for(int j = i * maxUpdatePerBatch; j < (i + 1) * maxUpdatePerBatch; j++)
{
    JSONObject device = devices.getJSONObject(j);

    writeItems.addItemToPut(new Item().with(Param.DEVICE_ID, device.getString(Param.DEVICE_ID))
                                      .with(Param.VALIDITY, device.getString(Param.VALIDITY)));
}

BatchWriteItemOutcome outcome = db.batchWriteItem(writeItems);

我想要做的只是更新有效性字段,同时保持字段键和userId的值。

但是,当我执行上面的代码时,它似乎更新了有效性,但删除了key和userId字段。

答案

您只能使用batchWriteItem,它相当于putItem,它将表中的整个项目替换为您指定的项目。

您需要为每个项目单独调用updateItem。

以上是关于如何在仅更新特定字段的dynamo db中进行批量更新的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MongoRepository 接口更新 mongo db 中的特定字段?

如何在 AWS lambda 函数中设置 dynamo db 触发器

如何进行地理距离查询仅返回我尚未“喜欢”的结果、Elastic Search、Dynamo DB

在Dynamo DB中选择where语句

在 Dynamo DB 中对本地二级索引进行索引

Pymongo:使用 $setOnInsert 错误进行批量更新