关于MERGE关键字的原理
我理解的MERGE就是如果节点已经存在则不创建,如果不存在则创建,这样的话就存在一个比较相等的问题,请问neo4j是如何判断merge的这个描述节点是否再数据库中已经存在了呢? 比如:merge(n:User {name:‘user1’, uid:‘0001’, age: 16}),其中uid是唯一字段; 是根据唯一字段来判断是否存在还是说根据语句所描述的所有字段信息来判断节点已经存在? 谢谢大家~
6 回复
https://neo4j.com/developer/kb/understanding-how-merge-works/ Neo4j官方给出的解释是说merge操作先是去匹配merge后面括号中的模式(包括标签及其属性),如果这个模式存在不执行创建操作,如果不存在则安照模式创建该节点。