如何在Dynamo DB中更新地图列表

时间:2018-11-07 06:42:29

标签: java amazon-web-services amazon-dynamodb dynamo-local

我有一个看起来像的东西

  { Item: { Users=[], Paid=0} }

这是我开始时的基本结构。现在,我要将用户信息添加到“用户”列表中

{ Item: { Users=[{name:pqr,school:mno}, {name:xyz, school:abc}], Paid=0} }

我正在尝试

        Item outcome2 = table.getItem(spec);
        final Map<String, Object> val1 = new HashMap<String, Object>();
        val1.put("name", "oliver");
        val1.put("school", "rit");
        UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("year", year)
            .withUpdateExpression("set UsersDetails = list_append(:prepend_value, UsersDetails)")
            .withValueMap(new ValueMap().withMap(":prepend_value", val1))
            .withReturnValues(ReturnValue.UPDATED_NEW);

另一个失败尝试

UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("year", year)
            .withUpdateExpression("add #a = list_append(#a, :val1)")
            .withNameMap(new NameMap().with("#a", "UsersDetails"))
            .withValueMap(
                    new ValueMap().with(":val1", val1))
            .withReturnValues(ReturnValue.UPDATED_NEW);

我想在列表中添加/更新json结构。

0 个答案:

没有答案