使用nodejs连接到RavenDB

时间:2017-11-12 04:48:09

标签: javascript node.js ravendb

我正在使用节点连接到RavenDB https://www.npmjs.com/package/ravendb
但是在尝试创建连接时,请执行此步骤 https://i.stack.imgur.com/fcFZ9.png
我不知道放在database urldefault database name中的内容 我把
database url =本地主机:5000
default database name = test(我的数据库名称为test)

并且控制台显示此错误Failed to load http://localhost:5000/topology?name=test 如何创建此连接。

EDIT 我配置程序
这是我的文件app.js
const DocumentStore = require('ravendb').default; const store = DocumentStore.create('localhost:5000', 'test'); store.initialize(); const session = store.openSession();


当我用节点运行这个文件时,它显示错误:(但是如果我删除了行const session = store.openSession();它会编译正常,所以我认为问题出在会话的某个地方。
错误日志:

"C:\Program Files\JetBrains\WebStorm 2017.2\bin\runnerw.exe" D:\nodejs\node.exe D:\nodeProject\demoraven\app.js Unhandled rejection ee: Node localhost:5000 is down at d.finally.catch.e (D:\nodeProject\demoraven\node_modules\ravendb\lib\ravendb-node.js:2:52762) at tryCatcher (D:\nodeProject\demoraven\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (D:\nodeProject\demoraven\node_modules\bluebird\js\release\promise.js:512:31) at Promise._settlePromise (D:\nodeProject\demoraven\node_modules\bluebird\js\release\promise.js:569:18) at Promise._settlePromise0 (D:\nodeProject\demoraven\node_modules\bluebird\js\release\promise.js:614:10) at Promise._settlePromises (D:\nodeProject\demoraven\node_modules\bluebird\js\release\promise.js:689:18) at Async._drainQueue (D:\nodeProject\demoraven\node_modules\bluebird\js\release\async.js:133:16) at Async._drainQueues (D:\nodeProject\demoraven\node_modules\bluebird\js\release\async.js:143:10) at Immediate.Async.drainQueues (D:\nodeProject\demoraven\node_modules\bluebird\js\release\async.js:17:14) at runCallback (timers.js:789:20) at tryOnImmediate (timers.js:751:5) at processImmediate [as _immediateCallback] (timers.js:722:5)

2 个答案:

答案 0 :(得分:1)

  

我不知道在数据库url和默认数据库名称中放入什么   我把

数据库URL是您运行Raven Server的HTTP地址。您可以下载Raven并在本地运行它。或者,如果您只是进行测试,则可以连接到位于http://4.live-test.ravendb.net

的游乐场服务器

对于DefaultDatabase,它是您要连接的数据库。如果您已经创建了数据库,请使用该名称。否则,输入任何名称,它将为您创建。

因此,总而言之,您的代码应该如下所示:

const dbUrl = "http://4.live-test.ravendb.net"; // Alternately, if you're running Raven Server locally, use http://localhost:8080 
const store = DocumentStore.create(dbUrl, "MyTestingDatabase");
store.initialize();

答案 1 :(得分:0)

@judah Himango说,你可以测试你的代码是否能够使用他提供的url连接到revendb数据库。

我认为你使用错误的端口连接到ravendb,即你应该设置database url=localhost:8080而不是localhost:5000,因为ravendb的默认端口是8080