我是 N1QL 新手,我想从数组中删除匹配的字符串。
这是我所需的名为检查的数组:
"job_1": {
"inspection": ['11','22','33','44'] //This is Array
},
"job_2": {
"inspection": ['22','33','44'] //This is Array
},
"job_3": {
"inspection": ['11','22'] //This is Array
}
我想从每个作业内的所有 3 个数组中删除“22”(检查数组中可能不存在我要删除的值):
我如何使用删除查询删除它,任何人都可以帮助我获取查询吗?
提前谢谢您!
最佳答案
使用 WHERE 子句更新具有所需值的文档。之后使用 ARRAY 构造来形成新的 ARRAY 并对其进行赋值。您还可以使用 ARRAY 函数。
UPDATE default AS d
SET d.inspection = ARRAY v FOR v IN d.inspection WHEN v != "22" END
WHERE "22" IN d.inspection;
或者
UPDATE default AS d
SET d.inspection = ARRAY v FOR v IN d.inspection WHEN v != "22" END
WHERE ANY v IN d.inspection SATISFIES v = "22" END;
引用
https://blog.couchbase.com/working-json-arrays-n1ql/ https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/indexing-arrays.html https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/update.html https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/arrayfun.html
关于json - 如何从N1QL中的数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62552132/