更新dynamodb列表项

时间:2018-10-16 23:18:13

标签: list amazon-dynamodb

这似乎应该非常简单,但是我还没有找到任何示例或文档。我有一个如下所示的dynamodb表:

记录1:{名称,电子邮件,项目[{产品},{item2},{item3]}

记录2 :(名称,电子邮件,项目[{产品},{item2},{item3]}

我需要能够更新项目元素,即更新记录1中的item1对象。我可以通过以下代码通过对列表数组元素进行硬编码来做到这一点,但是我不知道如何传递项目编号进入更新表达式:

{
"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 :(得分:0)

您是否尝试过以下方法:

"update" : {
    "expression" : "SET #items[:idx].#product= :productVal",
    "expressionNames" : {
        "#product": "product",
    },
    "expressionValues" : {
        ":productVal": { "S" : "${context.arguments.input.product}" },
        ":idx": { "N" : 0 }
    }
}