我正在使用Document API来玩Android和DynamoDb:
com.amazonaws.mobileconnectors.dynamodbv2.document.Table
我有一个具有两个属性的表,电话(主键)和名称-都是字符串。
我可以更新名称属性。
我在添加新属性时遇到问题。这是我使用的代码:
Document retrievedDoc = dbTable.getItem(new Primitive(telephone));
if (retrievedDoc != null) {
retrievedDoc.put("Telephone", "zzzzzzzzz");
retrievedDoc.put("name", "Billy Bob");
retrievedDoc.put("country", "USA");
retrievedDoc.put("song","Ding Dong");
Document result = dbTable.updateItem(retrievedDoc, new Primitive(telephone)
, new UpdateItemOperationConfig().withReturnValues(ReturnValue.ALL_NEW));
Log.i(TAG, "Update result: " + result);
return true;
}
使用这样的代码可以成功更新项目并添加两个新属性(国家和歌曲)。但是,如果我不包括:
retrievedDoc.put("Telephone", "zzzzzzzzz");
然后仅更新name属性,并且不添加两个新属性。
同时更新项目和添加新属性的正确方法是什么?我已经Google搜索并阅读了(不充分和稀疏的)相关文档,但是找不到解决方案,因此将不胜感激。
谢谢