Neo4j仅当节点存在时才添加/更新属性.如果没有,那就什么都不做



如果节点存在,Neo4j添加/更新属性的问题就消失了以下是如何合并(创建或更新(节点的答案:

您可以使用所有属性的映射一次设置所有属性

merge (n:Node {name: 'John'}) set n = {name: 'John', age: 34, coat: 'Yellow', hair: 'Brown'} return n

如果你只是想替换属性年龄和外套,你可以这样做。

merge (n:Node {name: 'John'}) set n.age = 34, n.coat = 'Yellow' return n

或者你也可以将其添加为地图

merge (n:Node {name: 'John'}) set n += {age: 34, coat: 'Yellow'} return n

任何人都可以告诉如何只在节点存在的情况下更新节点,但如果节点不存在,则不执行任何操作。

最简单的方法是

MATCH (n{id:{uuid}) SET n.prop=true

如果比赛失败,他们将无法对抗SET。

假设您希望后面仍有行;(所以你仍然可以为更复杂的查询返回数据(你可以让匹配成为可选的

...
OPTIONAL MATCH (n{id:{uuid}) SET n.prop=true

同样,如果匹配失败,n将为空,SET将不执行

相关内容

最新更新