如何修复nodejs neo4j驱动程序ECONNREFUSED错误?

时间:2016-08-20 16:33:05

标签: javascript node.js neo4j

修改

错误发生是因为我一直在使用Neo4j版本2.3.5。更新到3.0.4版(最新版本)后,该程序工作。

使用neo4j驱动程序执行session.run()时收到以下错误。

我在控制台中收到的错误

{ [Error: connect ECONNREFUSED 127.0.0.1:7687]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 7687 }

这是我的 app.js 文件。

var express = require("express");
var path = require("path");
var logger = require("morgan");
var bodyParser = require("body-parser");
var request = require("request");
var neo4j = require("neo4j-driver").v1;

var app = express();

//View Engine
app.set("views", path.join(__dirname, 'views'));
app.set("view engine", "ejs");

app.use(logger("dev"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: false
}));

app.use(express.static(path.join(__dirname, "public")));

var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "neo4j"));
var session = driver.session();

app.get("/", function(req, res) {
  session
    .run("MATCH (n) RETURN n")
    .then(function(result) {
      console.log(result.records[0]);
      session.close();
      driver.close();
    }).catch(function(err) {
      console.log(err);
    });

  res.send("It Works!");
});

app.listen(3000);

console.log("Server Started on Port 3000");

module.exports = app;

这是我的 package.json 文件:

 {
  "name": "sai-node-neo4j",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "*",
    "ejs": "2.4.2",
    "express": "*",
    "morgan": "*",
    "neo4j-driver":"*"
  }
}

1 个答案:

答案 0 :(得分:1)

对我来说,当我使用docker和docker-compose并使用localhost寻址neo4j实例时,我遇到了这个错误。我在我的docker-compose.yml中使用了与neo4j相同的密钥,它是" neo4j"解决它。 (即bolt:// neo4j)

web:
  image: node:latest
  volumes:
   - .:/usr/src/app
  links:
   - neo4j
  ports:
   - "3000:3000"
  working_dir: /usr/src/app
  entrypoint: npm start
neo4j:
  image: neo4j:latest
  ports:
   - "7473:7473"
   - "7474:7474"
   - "7687:7687"
  volumes:
   - ./db/dbms:/data