代码之家  ›  专栏  ›  技术社区  ›  Clive Sargeant

Android,DynamoDb,文档API,如何更新项目?

  •  1
  • Clive Sargeant  · 技术社区  · 8 年前

    com.amazonaws.mobileconnectors.dynamodbv2.document.Table
    

    我有一个有两个属性的表,电话(主键)和名称-都是字符串。

    我可以更新name属性。

    我在添加新属性时遇到问题。这是我使用的代码:

     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;
    
        }
    

    使用这样的代码可以成功地更新项目并添加两个新属性(country和song)。但是,如果我不包括:

    retrievedDoc.put("Telephone", "zzzzzzzzz");
    

    然后,只更新名称属性,并且两个新属性均未添加。

    更新项目和同时添加新属性的正确方法是什么?我已经在谷歌上搜索并阅读了(不充分且稀疏的)相关文档,但找不到解决方案,因此如果有任何帮助,我将不胜感激。

    0 回复  |  直到 8 年前