如何在仅更新特定字段的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 触发器