1
var express = require('express');
var app = express();
var neo4j = require('node-neo4j');
db = new neo4j('http://localhost:7474');
db.readNode(2, function (err, node) {
    if (err) throw err;

    console.log(node.data);

    console.log(node._id);
});

app.listen(4000, function () {
    console.log('listening at 4000');
});

错误:

/home/embed/Documents/nodeneo/server.js:39
    if (err) throw err;
             ^

Error: HTTP Error 401 occurred while reading a node.
    at /home/embed/Documents/nodeneo/node_modules/node-neo4j/lib/main.js:173:15
    at Request.callback (/home/embed/Documents/nodeneo/node_modules/superagent/lib/node/index.js:748:3)
    at Request.<anonymous> (/home/embed/Documents/nodeneo/node_modules/superagent/lib/node/index.js:135:10)
    at emitOne (events.js:90:13)
    at Request.emit (events.js:182:7)
    at IncomingMessage.<anonymous> (/home/embed/Documents/nodeneo/node_modules/superagent/lib/node/index.js:938:12)
    at emitNone (events.js:85:20)
    at IncomingMessage.emit (events.js:179:7)
    at endReadableNT (_stream_readable.js:913:12)
    at _combinedTickCallback (node.js:377:13)
Program exited with status code of 1.
4

1 回答 1

0

正如@Molda 所指出的,如果您的 neo4j 服务器启用了身份验证(默认情况下为 true),那么您需要在 REST 请求中提供身份验证信息(用户名和密码)。

最简单的方法是在用于与 neo4j 服务器通信的基本 URL 中包含身份验证信息。例如,如果你的用户名是“neo4j”,密码是“secret”,那么你的db赋值语句应该是:

db = new neo4j('http://neo4j:secret@localhost:7474');
于 2016-04-08T20:22:22.353 回答