该表包含以下字段:deviceId,userId,密钥,有效性
这是我的批量更新代码
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);
我想要做的只是在更新有效性字段的同时保留字段key和userId的值。
但是,当我执行上述代码时,似乎会更新已提交的有效性,但会删除key和userId字段。
答案 0 :(得分:2)
您只能使用batchWriteItem,它与putItem等效,它将用您指定的项目替换表中的整个项目。
您需要为每个项目分别调用updateItem。