从服务器获取数据库名称

时间:2019-08-21 14:57:30

标签: node.js ravendb

我想做一件简单的事情:在RavenDB服务器上获取数据库名称。根据文档(https://ravendb.net/docs/article-page/4.1/csharp/client-api/operations/server-wide/get-database-names)看起来直截了当,但是我面临着鸡和蛋的问题。

问题来了,因为我想获得数据库名称而不事先知道它们。文档中的代码效果很好,但需要与DocumentStore建立有效连接。为了获得与DocumentStore的有效连接,必须选择一个有效的数据库。否则,我将无法执行GetDatabaseNamesOperation。

这使我认为我缺少了一些东西。有什么方法可以知道至少一个数据库名称吗?

1 个答案:

答案 0 :(得分:4)

打开商店不是必须的数据库。以下代码可以正常工作:

using (var store = new DocumentStore
            {
                Urls = new[] { "http://live-test.ravendb.net" }
            })
            {
                store.Initialize();
                var dbs = store.Maintenance.Server.Send(new GetDatabaseNamesOperation(0, 25));
            }

我们将GetDatabaseNamesOperation发送到ServerStore,这对于所有数据库都是通用的,并保存着通用数据(例如数据库名称)。