【问题标题】:How to fix nodejs neo4j driver ECONNREFUSED error?如何修复 nodejs neo4j 驱动程序 ECONNREFUSED 错误?
【发布时间】:2016-08-20 16:33:04
【问题描述】:

编辑:

因为我一直在使用 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":"*"
  }
}

【问题讨论】:

  • 您的 neo4j 服务器似乎没有运行
  • 我的服务器正在运行。
  • 您使用的是哪个版本的 Neo4j?您是否将螺栓端口更改为 conf/neo4j.conf ?端口 7687 上似乎没有任何响应 ...
  • 嘿,非常感谢! Neo4j 的版本是问题所在。我使用的是 2.3.5 版本,但我刚刚更新到最新版本 3.0.4,现在可以正常使用了。

标签: javascript node.js neo4j


【解决方案1】:

对我来说,当我使用 docker 和 docker-compose 并使用 localhost 寻址 neo4j 实例时,我遇到了这个错误。我在 docker-compose.yml 中使用了与 neo4j 相同的密钥,即“neo4j”来解决它。 (即螺栓://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

【讨论】:

    猜你喜欢
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多