如何使用DynamoDB Expression Builder对数组指定索引执行ADD操作
问题解答
可以使用Expression Builder对数组(DynamoDB中对应List类型)的指定索引执行ADD操作。
你只需要将列表属性名+对应索引的方括号语法作为expression.Name的入参即可,DynamoDB的表达式原生支持[索引]语法访问List类型的指定位置元素,索引从0开始计数。
针对你需要操作Answers[1]的场景,代码写法如下:
Item: { SomeId string Answers []int {0, 0, 0, 0} } exprBuilder := expression.Add(expression.Name("Answers[1]"), expression.Value(1))
上述代码执行后,会直接将Answers数组索引为1的位置的数值加1,不需要预先定义固定数量的独立字段,完全可以适配动态索引的需求。
注意事项
- 执行该操作前需要确保目标索引位置已经存在对应元素,如果指定的索引超出了当前List的长度范围,操作会直接报错,不会自动补全中间位置的元素。
内容的提问来源于stack exchange,提问作者CelsoTeixeira
相关产品推荐
相关产品推荐

