更新Couchbase中的嵌套json数组字段

问题描述 投票:0回答:1

请在下面的字段中分享您有关如何更新的想法

"UserList": [ 
   { 
      "userAge":33,
      "empID":32,
      "empSal":120000,
      "userDept":{ 
         "deptId":1,
         "deptEmpCount":10,
         "deptNo":2
      }
   },
   { 
      "userAge":33,
      "empID":31,
      "empSal":120000,
      "userDept":{ 
         "deptId":1,
         "deptEmpCount":10,
         "deptNo":2
      }
   }
]

想要基于deptEmpCount更新deptIdempID。我也想删除基于empID的对象。

couchdb couchbase
1个回答
0
投票

首先,我想澄清一下,CouchDB不是Couchbase:)

UPDATE myBucket1 AS d 
SET o.empSal = "120001" FOR o IN d.UserList WHEN o.empID = 32 END

现在为了删除,您只需执行类似的操作,只需使用unset关键字即可。假设您在数组中还有另一个名为“虚拟”的字段。

UPDATE myBucket1 AS d
UNSET o.dummy  FOR o IN d.UserList WHEN o.empID = 32 END

据我所知,因为我们正在讨论数组,因此您目前无法将两者结合。

请注意,您应该指定where子句。由于您只有1个文档,这并不重要,但在现实生活中,您应该。

也请查看文档以获取更多说明https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/update.html

© www.soinside.com 2019 - 2024. All rights reserved.