javascript - 从 DynamoDb 中删除列表项
问题描述
需要使用其索引从 React 应用程序中的 DynamoDb 数据库中删除列表项。
按照https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.Js.03.html中的示例 , 更新项目(有条件)
删除项目的更新表达式是
UpdateExpression: "remove info.actors[0]",
当索引值是函数的参数时,更新表达式是什么?
解决方案
做到这一点的唯一方法是只构建UpdateExpression
带有适当数字的字符串。正如 LazyElephant 在评论中建议的那样:"Remove info.actors[" + index + "]"
.
您可能认为也应该可以写remove info.actors[:i]
where :i
is defined in ExpressionAttributeValues
。但不幸的是,这不起作用。DynamoDB 将其作为语法错误拒绝。我不能说我明白为什么。