在nodejs中运行Neo4j查询会返回“undefined”

时间:2015-01-05 02:59:02

标签: node.js neo4j undefined

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

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';

在节点js中运行代码之后。我刚收到错误" undefined"在控制台中。用这个线索很难调试。在此之前我得到了类似的形式错误"变量x未定义"。但是现在,我被困住了。有没有人有任何想法找到问题的根源?

1 个答案:

答案 0 :(得分:0)

您应该输出err参数,然后您还应该看到错误消息。 尝试首先了解javascript / node及其常规,这样可以避免这种误解。

您的网址错误,必须是:

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

你的参数也不会在任何地方使用。

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

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