2016-09-01 4 views
3

all。 neo4jが新しく、ノード/エクスプレスの公式JSドライバを使用してリモート(たとえば非ローカル)サーバーに接続しようとしましたが、[エラー:ソケットがハングアップする]コード: 'ECONNRESET'エラーが続いています。コードは次のようになります:neo4j JSドライバを使用したソケットハングアップ

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(); 
}); 

ボルトとhttpの両方でストリーミングとプロビジョニングの両方のテクニックを試しましたが、すべて同じ結果が得られました。リモートサーバーは外部接続を受け入れるように設定されており、golang経由で接続を個別に確認しています。

アイデア? Githubの上でこれを超える答えるためのオスカー羽に

答えて

10

ありがとう:

Your issue is that you're potentially closing the driver before your query are finished.

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(); 
    }); 
}); 
+0

はどうもありがとうございました! githubのガイドは非常に小さいので、ドライバを閉じる必要があると明示的に述べています。テストスクリプトの一番下に最初に配置されたドライバです。 – Abayob

関連する問題