我的数据如下:
Name | Age | Status
-----|-----|--------
Bill | 23 | Married
John | 19 | Single
现在,我想按名称搜索记录" Jim"。如果找到记录,我想将年龄设置为30,将状态设置为单。如果没有,我想创建一个名为" Jim"的新记录。年龄30岁,身份单身。
我设法使用merge命令执行此操作:
MERGE (n:person {name:"Jim"})
on match set age=30, status="Single"
on create set age=30, status="Single"
但这对我来说似乎效率低下,因为我在匹配和创建上重复相同的陈述。有更好的方法吗?
(我提出问题的方式可能令人困惑。我为此道歉。)
答案 0 :(得分:2)
由于您执行的操作相同on match
和on create
我认为您只需将其删除,然后在SET
之后的两个属性中执行MERGE
。这种方式有效:
MERGE (n:person {name:"Jim"})
SET n.age=30, n.status="Single"