簡體   English   中英

更新 ArangoDB 嵌套文檔中的數組值

[英]Update an array value in nested document in ArangoDB

`給定集合卡內的以下文檔:我必須更新 staticCard 中特定 id 的整個數據值



`

{
  "staticCards": [
    {
         id:123, 
         search:"",
         data:[]

    },
    {
         id:456,
         search:"",
         data:[]
    },
],
    "dynamicCards":[
      {
         id:789,
         search:"",
         data:[]
      },
      {
         id:127,
         search:"",
         data:[]
      },
      {}
    ]
}

您需要確定數組元素的索引,如果您想使用 POSITION() 匹配 object 屬性之一而不是整個 object,這並不簡單。 然后您可以使用REPLACE_NTH()設置新值。 最后,您需要更新相應的頂級屬性。

LET pos = FIRST(FOR i IN 0..LENGTH(doc.dynamicCards)-1
  FILTER doc.dynamicCards[i].id == 127
  LIMIT 1
  RETURN i
)
LET new = REPLACE_NTH(doc.dynamicCards, pos, { id: 128, search: "", data: [] })
UPDATE doc WITH { dynamicCards: new } IN coll

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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