我是raven db的新手。我已閱讀API並嘗試創建數據庫。它有類似EnsureDatabaseExists函數,它在不存在的情況下創建數據庫。它實際上使用DocumentDatabase類型來創建該數據庫。我使用它並創建數據庫,但我想直接使用此對象,以便使用此對象可以直接處理文檔。我做對了嗎?或者可以有更好的方法來處理文件。謝謝。Raven db:創建一個新的數據庫
2
A
回答
1
我認爲你混淆了數據庫文檔和查詢文檔。
數據庫文檔是默認數據庫上的一個文檔,它只是表示RavenDB中不是默認數據庫的數據庫。它存儲一些數據,如數據庫名稱和位置。你作爲ravendb的消費者與本文無關。這與查詢任何其他文檔無關。
查看here以瞭解如何查詢ravendb的文檔。爲了查詢特定的數據庫,如果您只使用該數據庫,那麼只需在connection string中指定數據庫名稱即可。如果您一次處理multiy數據庫,則可以在打開會話時指定所需的數據庫名稱,store.OpenSession("database-name")
。
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
相關問題
- 1. Raven DB到SQL服務器(NoSQL DB到關係數據庫)
- 2. 創建新的數據庫並填充另一個數據庫
- 3. 在Raven DB中生成測試數據
- 4. 查詢Raven Db
- 5. Raven Db查詢
- 6. 創建自動創建一個新的數據庫條目
- 7. 創建一個數據庫
- 8. Django/db-api破解創建數據庫?
- 9. 創建一個附加表或創建一個新的數據庫
- 10. Knockout js和Raven DB
- 11. after_create:在DB中創建一個新行
- 12. heroku postgres:創建一個備份數據庫創建一個空數據庫
- 13. 無法使用Ruby rest_client創建新的RavenDB數據庫
- 14. 創建一個基本的數據庫
- 15. Django的 - 創建一個從數據庫
- 16. 創建多個數據庫或一個
- 17. 無法創建使用耙DB數據庫:創建
- 18. 運行db時不會創建數據庫:使用RAILS_ENV創建
- 19. 刪除數據庫引擎並創建一個新的數據庫
- 20. 我是新來的數據庫,我想創建一個食譜數據庫
- 21. 創建一個新的數據幀
- 22. Raven DB:如何創建「UniqueVisitorCount by date」索引
- 23. 爲什麼要在raven db中創建自定義索引?
- 24. 創建與另一個數據庫關聯的數據庫
- 25. WORDPRESS:創建一個函數,點擊更新數據庫
- 26. Alter RavenDb創建的數據庫包
- 27. PHP:共享數據庫連接或創建一個新的?
- 28. Plesk沒有創建一個新的數據庫服務器
- 29. 使用NPoco創建一個新的數據庫
- 30. 每年創建一個新的數據庫表