面对未知的 Bolt 协议版本,同时在 Node js 应用程序中集成 Neo4j(Heroku)



我是 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-driver4.1.0降级到4.0.2并使用boltv1协议bolt://,正如@Tomaž Bratanič提到的那样。

GrapheneDB的文档说他们目前(2020年6月15日(还不支持4.1.0驱动程序。

您还可以在此处找到有关使用正确bolt版本的更多信息 https://github.com/neo4j/neo4j-javascript-driver/issues/595。

相关内容

  • 没有找到相关文章

最新更新