Neo4j期望Collection <T>,但在创建多个节点时是Map

My *_*rts 2 neo4j cypher

我试图通过将属性作为参数作为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...)

Chr*_*ite 5

UNWIND期待一个集合,而不是你当前传入的地图,试试这个(只需删除包裹花括号和道具顶级字段):

UNWIND [ {
    name : "Andres",
    position : "Developer"
  }, {
    name : "Michael",
    position : "Developer"
  } ] AS map
CREATE (n)
SET n = map
Run Code Online (Sandbox Code Playgroud)