以下是couchbase中的示例文档(userdetails)。
{ "friends":[
{
"company":"microsoft",
"firstname":"criss",
"lastname":"angel"
},
{
"company":"google",
"firstname":"captain",
"lastname":null
} ] }
根据公司名称,我想从数组中删除相应的json文档。
n1ql查询
update default use keys "userdetails" set friends=array_remove(friends,a) for a in friends when a.company="google" end returning friends
我无法使用上述查询删除json数据。
如果我们有空字符串(“lastname”:“”)而不是空值,则此查询正常工作。
那么,如果任何参数值为“null”,如何删除
答案 0 :(得分:2)
您可以按如下方式替换整个好友数组:
UPDATE default
USE KEYS "userdetails"
SET friends = ARRAY a FOR a IN friends WHEN a.company <> "google" END
RETURNING friends;