我是 raven db 的新手。我已阅读 API 并尝试创建数据库。它有类似 EnsureDatabaseExists 函数,如果数据库不存在则创建数据库。它实际上使用 DocumentDatabase 类型来创建该数据库。我使用它,它创建了数据库,但我想直接使用这个对象,以便使用这个对象我可以直接处理文档。我做得对吗?或者有没有比这更好的方法来处理文档。谢谢。
问问题
1808 次
2 回答
0
上提供了三种方法store.DatabaseCommands.GlobalAdmin
。
GetDatabaseNames
: 列出数据库名称EnsureDatabaseExists
: 如果数据库不存在则创建数据库CreateDatabase
: 创建数据库
请注意,DocumentStore.Initialize()
已经确保创建了数据库。您可以传递一个布尔值 false 来避免这种行为。
// init store object, you pass the service URL + the database name
var store = new DocumentStore("http://localhost:8001/databases/MyNewDataBase");
store.Initialize(false);
// most simple thing is:
var dbName = store.DefaultDatabase;
store.DatabaseCommands.GlobalAdmin.EnsureDatabaseExists(dbName);
如果您想在不创建的情况下进行检查:
// there is a method to list the database names
bool exists = false;
for (int i = 0; i < int.MaxValue; i++)
{
var names = store.DatabaseCommands.GlobalAdmin.GetDatabaseNames(100, i * 100);
if (names.Contains(dbName))
{
exists = true;
break;
}
if (names.Length < 100)
{
// no more databases
break;
}
}
if (exists)
{
// database exists, do something
}
参考:https ://ravendb.net/docs/article-page/3.5/Csharp/client-api/commands/how-to/create-delete-database
于 2017-09-11T14:50:14.837 回答