обновить элемент списка DynamoDB - PullRequest
0 голосов
/ 17 октября 2018

Кажется, это должно быть очень просто, но я не нашел ни примеров, ни документации.У меня есть таблица DynamodB, которая выглядит следующим образом:

запись 1: {имя, адрес электронной почты, элементы [{product}, {item2}, {item3]}

запись 2: (name, email, items [{product}, {item2}, {item3]}

Мне нужно иметь возможность обновлять элементы items, т. е. обновлять объект item1 в записи 1. Я могу сделать это с помощью следующегокодировать путем жесткого кодирования элемента массива списка, но я не могу понять, как передать номер элемента в выражение обновления:

{
"version" : "2017-02-28",
"operation" : "UpdateItem",
"key" : {
    "id" : { "S" : "${context.arguments.input.id}" }
},
"update" : {
    "expression" : "SET #items[0].#product= :productVal",
    "expressionNames" : {
        "#product": "product",
    },
    "expressionValues" : {
        ":productVal": { "S" : "${context.arguments.input.product}" },
    }
}

1 Ответ

0 голосов
/ 17 октября 2018

Вы пробовали что-то вроде:

"update" : {
    "expression" : "SET #items[:idx].#product= :productVal",
    "expressionNames" : {
        "#product": "product",
    },
    "expressionValues" : {
        ":productVal": { "S" : "${context.arguments.input.product}" },
        ":idx": { "N" : 0 }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...