【问题标题】:update dynamodb list item更新 dynamodb 列表项
【发布时间】:2019-03-21 13:29:54
【问题描述】:

这看起来应该很简单,但我没有找到任何示例或文档。我有一个如下所示的 dynamodb 表:

记录 1:{name, email, items[{product}, {item2}, {item3]}

记录 2:(姓名、电子邮件、项目[{product}、{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}" },
    }
}

【问题讨论】:

    标签: list amazon-dynamodb


    【解决方案1】:

    您是否尝试过类似的方法:

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

    【讨论】:

    • 试过了。我收到一个错误“无效的 UpdateExpression:语法错误;令牌:\”:idx\”,
    猜你喜欢
    • 2018-09-24
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多