是否有一种奇特或棘手的方法可以将任意 jsonpatch 数组应用于带有密码甚至 apoc 的地图?
所以如果我有
- 一张地图
{a: 0, b: 0, c: 0}
- 一组编码在地图中的操作,比如说
[{replace: "a", value: 1}, {replace: "b", value: 1}]
。我知道这不是中继 jsonpatch,但这就是我所需要的。如果有一个成熟的 jsonpatch 解决方案,那就更好了。
我在密码中寻找一个程序、程序的串联或一种简洁的方式来产生{a: 1, b: 1, c: 0}
在https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_map_functions中可以apoc.map.setKey(map, key, value)
找到,但它一次只能操作一个值。我尝试将它与密码结合起来,但我确实需要改变地图而不是节点。FOREACH
我的尝试是
create (:TEST {a: 0, b: 0, c: 0});
match (t:TEST)
with t, [{replace: "a", value: 1}, {replace: "b", value: 1}] as refs
foreach(ref in refs
| set t = apoc.map.setKey(properties(t), ref.replace,
ref.value))
return *;
当然,我总是可以让客户端执行 jsonpatch 操作,但我更喜欢在 tx.xml 中执行此操作的方法。我知道我也可以自己编写一个程序作为最后的手段。