我是 Neo4j 的初学者,我尝试使用本文档中建议的代码: https://neo4j.com/developer/javascript/
但是我收到以下错误:
Neo4jError: Unknown Bolt protocol version: 0
at captureStacktrace (C:UsersabdsheikhDocumentsNodeJSAppsDrugReponode_modulesneo4j-driverlibresult.js:275:15)
at new Result (C:UsersabdsheikhDocumentsNodeJSAppsDrugReponode_modulesneo4j-driverlibresult.js:66:19)
at Session._run (C:UsersabdsheikhDocumentsNodeJSAppsDrugReponode_modulesneo4j-driverlibsession.js:172:14)
at Session.run (C:UsersabdsheikhDocumentsNodeJSAppsDrugReponode_modulesneo4j-driverlibsession.js:133:19)
at Object.<anonymous> (C:UsersabdsheikhDocumentsNodeJSAppsDrugReponeo4j.js:12:33)
这是我的代码:
const neo4j = require('neo4j-driver')
uri = "bolt+s://<some-secret-url>.dbs.graphenedb.com:24787";
user = ""; //user was here
password = ""; // password was here
const driver = neo4j.driver(uri, neo4j.auth.basic(user, password))
const session = driver.session()
try {
const resultPromise = session.run('match(c:Conditions) return c.Name');
resultPromise.then(result => {
session.close();
console.log(node.properties);
driver.close();
}).catch((error) => {
console.log(error);
});
} finally {
console.log("Bye");
}
该错误指示可能不支持 bolt 协议。您是否使用的是 Neo4j 版本 3.5.x。我认为新的bolt + s协议是通过Neo4j 4.x系列启用的。
尝试将 uri 更改为:
uri = "bolt://<some-secret-url>.dbs.graphenedb.com:24787";
在使用GrapheneDB在Heroku上运行Neo4j时遇到了同样的问题,我实际上不得不将neo4j-driver
从4.1.0
降级到4.0.2
并使用bolt
v1协议bolt://
,正如@Tomaž Bratanič提到的那样。
GrapheneDB的文档说他们目前(2020年6月15日(还不支持4.1.0
驱动程序。
您还可以在此处找到有关使用正确bolt
版本的更多信息 https://github.com/neo4j/neo4j-javascript-driver/issues/595。