请在下面的字段中分享您有关如何更新的想法
"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
更新deptId
和empID
。我也想删除基于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