在 nodejs 中运行 Neo4j 查询 returns "undefined"

Running Neo4j query in nodejs returns "undefined"

我正在尝试从 nodejs 运行针对 neo4j 数据库的查询。这是我在 nodejs 中的 app.get 中的代码:

var query = 'match (t {name:"Tom Hanks"}) return t';
    var params={limit: 10};
    cypher(query,params,cb);

这里是执行查询的密码函数定义:

function cypher(query,params,cb) {
      request.post({uri:txUrl,
        json:{statements:[{statement:query,parameters:params}]}},
        function(err,res) { cb(err,res.body);});
    }

最后,这是 cb 函数定义:

var cb = function(err,data) { 
  console.log(JSON.stringify(data));
};

并且我设置的数据库路径如下:

var txUrl = 'http://localhost:7474/db/data';

在node js中运行代码后。我刚刚在控制台中收到错误 "undefined"。很难用这个线索进行调试。在此之前,我得到了类似形式 "variable x is undefined" 的错误。但是现在,我被困住了。有谁知道找到问题的根源吗?

你应该输出err参数,然后你应该也会看到错误信息。 尝试跟上 javascript/node 的速度,首先是约定,这将避免您产生这样的误解。

你的URL错了,应该是:

var txUrl = 'http://localhost:7474/db/data/transaction/commit';

此外,您的参数未在任何地方使用。

并且您应该在匹配中使用 标签,例如 :Person:Actor

我认为你最好使用 Javascript 的驱动程序,请参阅 http://neo4j.com/developer/javascript