我注意到DynamoDB可以添加和删除数组中的项目但是如果要专门更新该项目,如何搜索对象内的特定项目? 例如: 在MongoDB中,您可以搜索someitem。$。subitem并更新该特定项目。 有没有办法如何使用DynamoDB执行此操作?
Item: {
someitem: [
{
subitem: "id",
somevalue: "something"
}
]
}
我会说这是基本功能,但似乎不容易找到(甚至不支持)
答案 0 :(得分:1)
AWS不允许在单个更新请求中修改它在以下答案中找到更多信息: updating-a-json-array-in-aws-dynamodb
他们建议的解决方案是将模式从数组更改为 {} ,或实现自定义函数并遍历每个数组并找到要更新的新ID,以便以编程方式说话更新你的json,然后插入整个对象。
答案 1 :(得分:0)
TableName : 'tablename',
Key : { id: id},
ReturnValues : 'ALL_NEW',
UpdateExpression : 'set someitem['+`index`+'].somevalue = :reply_content',
ExpressionAttributeValues : { ':reply_content' : updateddata }
通过数组索引编辑数组元素