微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

密码更改地图上的密钥名称

如何解决密码更改地图上的密钥名称

在 neo4j 中使用 cypher,更改地图上具有特定名称的所有键的最佳方法是什么? 例如,在下面的代码中,我想替换 theOrigKeytheNewKey

WITH {dummyKey:1,theOrigKey:[
    {lvl2DummyKey:2,theOrigKey:[ {lvl3DummyKey:3.1},{lvl3DummyKey:3.2} ]
    },{lvl2DummyKey:2,{lvl3DummyKey:3.2} ]
    }
  ]} AS myMap
RETURN myMap

变成

WITH {dummyKey:1,theNewKey:[
    {lvl2DummyKey:2,theNewKey:[ {lvl3DummyKey:3.1},{lvl3DummyKey:3.2} ]
    }
  ]} AS myMap
RETURN myMap

我想过将地图转换为字符串,替换文本,然后再将其转换回来。但是,这似乎效率低下,并且如果密钥可能出现在数据的其他地方(无论如何它对我也不起作用),则不起作用。

WITH apoc.convert.toString(myMap) AS strMyMap
WITH replace(strMyMap,"theOrigKey","theNewKey") AS strMyMap
WITH apoc.convert.toMap(strMyMap) AS MyNewMap
RETURN MyNewMap

如果这些是节点,我可以只使用 SETREMOVE 语句,但这些只是映射。将它们转换为 JSON 就好了,如果这有帮助的话……该过程的下一步无论如何都会将它们转换为 JSON。

在使用 cypher 的同时有没有什么好的方法可以做到这一点?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。