簡體   English   中英

DynamoDB在對象數組(nodejs)中更新

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM