这似乎应该非常简单,但是我还没有找到任何示例或文档。我有一个如下所示的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}" },
}
}
答案 0 :(得分:0)
您是否尝试过以下方法:
"update" : {
"expression" : "SET #items[:idx].#product= :productVal",
"expressionNames" : {
"#product": "product",
},
"expressionValues" : {
":productVal": { "S" : "${context.arguments.input.product}" },
":idx": { "N" : 0 }
}
}