как обновить список карт в Dynamo DB - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть предмет, который выглядит как

  { 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 в списке.

...