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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更新Couchbase中的嵌套json数组字段相关的知识,希望对你有一定的参考价值。

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

"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:)

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

以上是关于更新Couchbase中的嵌套json数组字段的主要内容,如果未能解决你的问题,请参考以下文章

如何设置映射输入的嵌套 JSON 数组对象的状态

使用 Spark 访问嵌套在结构中的 json 数组

使用嵌套字段中的值更新字段

如何在 mssql 中更新 JSON 中的嵌套数组

Mongoose - 更新嵌套数组中的字段

Mongoose - 更新嵌套数组中的字段