我想创建一个具有对象属性的节点,即
name: {
fname: String;
mname: String,
lname: String
}
Match (n: email:"123@mail.com"}) SET n.name=name Return n;
我一直在搜索SO和文档但没有成功。我见过的最接近的是{map},但我不确定如何使用它。
答案 0 :(得分:1)
您不能将字典/地图/对象存储为Neo4j中的节点上的属性,只能存储基元(int,float,string和基元数组)。
但是,您可以将对象作为参数传递,并在SET
子句中引用该对象的元素:
var name = {
fname: "Bob",
mname: "E",
lname: "Loblaw",
}
WITH {name} AS name
MATCH (n:Person {email: "123@mail.com"})
SET n.fname = name.fname,
n.mname = name.mname,
n.lname = name.lname
您还可以将对象的所有元素设置为节点上的属性:
var name = {
fname: "Bob",
mname: "E",
lname: "Loblaw",
}
WITH {name} AS name
MATCH (n:Person {email: "123@mail.com"})
SET n = n + name