全部。我对neo4j还不熟悉,尝试使用node/express中的官方js驱动程序来访问远程(例如非本地)服务器,但一直收到[error:socket hang up]代码:“econnreset”错误。代码如下:

router.get('/', function(req, res, next) {
  var driver  = neo4j.driver("bolt://ip.address", neo4j.auth.basic("neo4j", "neo4j"));
  var session = driver.session();
  var query   = "MATCH (p:Person {name:'Sally'})-[r:KNOWS]->(f:Person) RETURN f";

  session
    .run(query)
    .then(function(result) {
      result.records.forEach(function(record) {
        console.log(record._fields);
      });
      session.close();
    })
    .catch(function(error) {
      console.log(error);
    });

  driver.close();
});

我在bolt和http上尝试了流和promise技术,结果都是一样的。远程服务器配置为接受外部连接,我已经通过golang分别验证了连接。
思想?

最佳答案

感谢Oscar Hane在Github上回答了这个问题:
你的问题是你有可能在
查询完成。

router.get('/', function(req, res, next) {
  var driver  = neo4j.driver("bolt://ip.address", neo4j.auth.basic("neo4j", "neo4j"));
  var session = driver.session();
  var query   = "MATCH (p:Person {name:'Sally'})-[r:KNOWS]->(f:Person) RETURN f";

  session
    .run(query)
    .then(function(result) {
      result.records.forEach(function(record) {
        console.log(record._fields);
      });
      session.close();
      driver.close();
    })
    .catch(function(error) {
      console.log(error);
      driver.close();
    });
});

07-28 08:56