amazon-dynamodb - 有什么方法可以在 DynamoDB 中初始化一个数字列表的增量?
问题描述
例如像这样:
aws dynamodb update-item \
--table-name table \
--key '{"PK":{"S":"Poll#5f4c556c-41e8-44a6-81e3-590b974949e5"},"SK":{"S":"Metric#Time#time=2021-08-29T16:59:59.999Z"}}' \
--update-expression "SET optionVotes = if_not_exists(optionVotes, :initialVotes) ADD optionVotes[1] :increment " \
--expression-attribute-values '{":initialVotes": {"L": [{"N": "0"}, {"N": "0"}]}, ":increment": {"N": "1"}}' \
--return-values ALL_NEW
这种尝试实际上返回An error occurred (ValidationException) when calling the UpdateItem operation: Invalid UpdateExpression: Two document paths overlap with each other; must remove or rewrite one of these paths; path one: [optionVotes], path two: [optionVotes, [1]]
。
实际上下文是投票投票的投票{optionVotes: [0, 1]}
意味着选项 1 的投票数为 0 票,选项 2 的投票数为 1。我正在评估每次投票移动到单个属性(例如{v0: 0, v1: 1}
),因此增量将根据情况创建或设置它,但我觉得列表是更合适的表示。
解决方案
推荐阅读
- angular - 是否可以返回发出通过等待异步方法构造的数组的 Observable?
- python - 如何获得反向查找的近似方程
- cordova - 尝试在 android 上安装 ionic 应用程序时出错
- routes - 无法列出上下文路由 - 不兼容的类型:列出
> 无法转换为列表 - dart - 飞镖错误:NoSuchMethodError:'
' - vb.net - 使用 FromStream 从 Memorystream 创建想象会出现内存不足错误
- c++ - 是否可以创建一个函数来处理具有不同类型变量的无限参数?
- sql - SQlite 仅选择具有定义差异的行
- node.js - 提交时出现节点 JS 参考错误“未定义个人资料图像”。500 错误
- rest - Perl 休息客户端声明导致用户代理调用失败,带有另一个端点的自定义标头