如何创建带变量标签的节点?

时间:2017-11-10 06:52:49

标签: node.js neo4j cypher

似乎我无法使用基于userinput的标签创建节点。我想将表单中的user userinput存储在变量中并将其传递给Cypher查询。虽然这似乎适用于属性,但它不适用于标签。我花了半天时间来处理各种可能性:

('CREATE n:{typeParam} {desc:{descParam}, userID: {IDParam}}) RETURN n', {typeParam:type, descParam: desc, userID: id})

('CREATE n (SET n:{typeParam} {desc:{descParam}, userID: {IDParam}}) RETURN n', {typeParam:type, descParam: desc, userID: id})

('CREATE n:($typeParam) {desc:{descParam}, userID: {IDParam}}) RETURN n', {typeParam:type, descParam: desc, userID: id})

标签变量的第一个字符始终被视为无效输入。我真的很想知道如何做到这一点。

1 个答案:

答案 0 :(得分:5)

您可以使用apoc.create.node

中的APOC library程序
CALL apoc.create.node(
  // array of labels
  [{typeParam}],

  // property object
  {
    desc: {descParam}, 
    usedID: {userID}
  } 
)