neo4j中的条件数据插入
我有一个空列表,我想在其中插入一些联系人数据。我写了以下查询:neo4j中的条件数据插入,neo4j,Neo4j,我有一个空列表,我想在其中插入一些联系人数据。我写了以下查询: MERGE (u:CONTACT { id: 'random-id-01', email: 'some01@email.com', name: 'some-name-01', info: 'some-info-01 } ) WITH u as u MATCH (pl:LIST { id: {listId} } ) MERGE (pl)-[plcn:LIST_CONTACTS]->(u) RETUR
MERGE (u:CONTACT { id: 'random-id-01', email: 'some01@email.com', name: 'some-name-01', info: 'some-info-01 } )
WITH u as u
MATCH (pl:LIST { id: {listId} } )
MERGE (pl)-[plcn:LIST_CONTACTS]->(u)
RETURN u
MATCH (pl:LIST)-[plcn:LIST_CONTACTS]->(ux:CONTACT)
WHERE ux.email <> 'some01@email.com'
MERGE (u:CONTACT { id: 'random-id-01', email: 'some01@email.com', name: 'some-name-01', info: 'some-info-01 } )
WITH u as u
MATCH (pl:LIST { id: {listId} } )
MERGE (pl)-[plcn:LIST_CONTACTS]->(u)
RETURN u
但我也必须检查重复的电子邮件。因此,我编写了以下查询:
MERGE (u:CONTACT { id: 'random-id-01', email: 'some01@email.com', name: 'some-name-01', info: 'some-info-01 } )
WITH u as u
MATCH (pl:LIST { id: {listId} } )
MERGE (pl)-[plcn:LIST_CONTACTS]->(u)
RETURN u
MATCH (pl:LIST)-[plcn:LIST_CONTACTS]->(ux:CONTACT)
WHERE ux.email <> 'some01@email.com'
MERGE (u:CONTACT { id: 'random-id-01', email: 'some01@email.com', name: 'some-name-01', info: 'some-info-01 } )
WITH u as u
MATCH (pl:LIST { id: {listId} } )
MERGE (pl)-[plcn:LIST_CONTACTS]->(u)
RETURN u
仅当某些联系人数据已存在时,此查询才起作用。但是,当创建了一个空列表,然后想要将联系人数据插入到新创建的列表中时,它就不起作用了
我怎样才能解决这个问题
提前感谢。如果希望电子邮件在:CONTACT节点中唯一,请在:CONTACTemail上创建唯一约束,以确保在插入尝试违反唯一性约束时引发错误 我不太理解你的意图,因为所有联系人的电子邮件都与你想插入的不同。你能澄清你在尝试什么吗?你希望每个联系人节点都有一个唯一的电子邮件地址吗?