2016-08-20 2 views
0

EDIT:Как исправить ошибку nodejs neo4j ECONNREFUSED?

ошибка происходила потому, что я использовал Neo4j версии 2.3.5. После обновления до версии 3.0.4 (последняя версия) программа работает.


При получении session.run() с драйвером neo4j появляется следующее сообщение об ошибке.

ошибка Я получаю в консоли:

{ [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":"*" 
    } 
} 
+0

Похоже, ваш сервер Neo4j не работает – martriay

+0

Мой сервер работает. –

+0

Какая версия Neo4j вы используете? Вы изменили порт болта на 'conf/neo4j.conf'? Кажется, что ничего не реагирует на порт 7687 ... – logisima

ответ

1

Для меня я получаю эту ошибку, когда я использовал докер и докер-Compose и обращаясь к экземпляру Neo4j с локальным хостом. Я использовал тот же ключ, который я использовал для neo4j в моем docker-compose.yml, который был «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 
Смежные вопросы