如何将变量作为参数传递给cypher查询(neo4j)

时间:2017-01-24 18:35:16

标签: javascript node.js neo4j cypher

我想将一个变量(来自请求体的值)作为参数传递给cypher查询,但我不知道是否(以及如何)这是可能的。 我尝试过很少的东西,硬编码字符串参数的“普通”密码查询工作正常,但是当我想将变量作为参数传递时,我会得到一个错误 Structure(127,[[object object] ]])。 我在Neo4j 3.1上。与构建密码查询的node.js-server结合使用。

这是一个片段..

var user_firstname = req.body.firstname;
var user_lastname = req.body.lastname;
var user_city = req.body.city;
session
    .run("CREATE (n:Person {firstname: {firstname}, lastname: {lastname}, city: {city}})", 
      { firstname: user_firstname, 
        lastname: user_lastname, 
        city: user_city })

先谢谢你的帮助,欢呼!

1 个答案:

答案 0 :(得分:1)

在Neo4j 3.1中,我相信parameter syntax was changed。尝试在参数之前使用$而不是将其括在括号中。看看这个查询是否会起作用:

CREATE (n:Person {firstname: $firstname, lastname: $lastname, city: $city})