我试图通过将属性作为参数作为UNWIND函数的一部分传递,使用Cypher在Neo4j中创建多个节点,但我一直收到错误Type mismatch: expected Collection<T> but was Map.
即使使用Neo4j文档中的以下示例(链接),也会发生这种情况:
UNWIND {
props : [ {
name : "Andres",
position : "Developer"
}, {
name : "Michael",
position : "Developer"
} ]
} AS map
CREATE (n)
SET n = map
Run Code Online (Sandbox Code Playgroud)
谁能指出我在这里做错了什么?
请注意,上面的示例与Neo4j文档中的不完全相同.他们的示例用双引号包装属性名称,但这会导致我的Neo4j实例抛出错误Invalid input '"': expected whitespace...)
UNWIND期待一个集合,而不是你当前传入的地图,试试这个(只需删除包裹花括号和道具顶级字段):
UNWIND [ {
name : "Andres",
position : "Developer"
}, {
name : "Michael",
position : "Developer"
} ] AS map
CREATE (n)
SET n = map
Run Code Online (Sandbox Code Playgroud)