[英]DynamoDB update inside an array of objects (nodejs)
我注意到DynamoDB可以在数组中添加和删除项目,但是如果要具体更新该对象,如何在对象中搜索特定项目? 例如:在MongoDB中,您可以搜索someitem。$。subitem并更新该特定项目。 有没有办法使用DynamoDB做到这一点?
Item: {
someitem: [
{
subitem: "id",
somevalue: "something"
}
]
}
我会说这是基本功能,但似乎不容易找到(甚至不受支持)
AWS不允许在单个更新请求中对其进行修改,请在以下答案中找到更多信息:update -a-json-array-in-aws-dynamodb 。
他们提出的解决方案是将架构从数组更改为{} ,或者实现自定义函数并遍历每个数组并找到要更新的新id,这样可以说以编程方式更新json,然后插入整个对象。
TableName : 'tablename',
Key : { id: id},
ReturnValues : 'ALL_NEW',
UpdateExpression : 'set someitem['+`index`+'].somevalue = :reply_content',
ExpressionAttributeValues : { ':reply_content' : updateddata }
通过数组索引编辑数组元素
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.