使用neo4j JS驱动程序进行套接字挂起
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用neo4j JS驱动程序进行套接字挂起相关的知识,希望对你有一定的参考价值。
所有。我是neo4j的新手,并尝试使用来自node / express的官方JS驱动程序来命中远程(例如非本地)服务器,但不断收到[错误:套接字挂断]代码:'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();
});
});
以上是关于使用neo4j JS驱动程序进行套接字挂起的主要内容,如果未能解决你的问题,请参考以下文章