使用 .NET 管理 MongoDB 資料庫
適用於: MongoDB
Azure Cosmos DB 中的 MongoDB 伺服器可以從 MongoDB NuGet 套件取得,例如:
注意
範例程式碼片段可在 GitHub 作為 .NET 專案使用。
API for MongoDB 參考文件 | MongoDB 套件 (NuGet)
命名資料庫
在 Azure Cosmos DB 中,資料庫類似於命名空間。 當您建立資料庫時,資料庫名稱會成為存取資料庫資源和任何子資源的 URI 區段。
建立之後,資料庫的 URI 格式如下:
https://<cosmos-account-name>.documents.azure.com/dbs/<database-name>
建立資料庫執行個體
您可以使用 MongoClient
來取得資料庫的執行個體,如果資料庫不存在,則可以建立一個執行個體。 類別 MongoDatabase
提供集合及其文件的存取權。
下列程式碼片段會將文件插入集合中,以建立新的資料庫。 請記住,除非需要此類型的作業,否則不會建立資料庫。
var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(new BsonDocument() { { "Name", "surfboard" } });
使用現有的資料庫
您也可以使用 GetDatabase
方法來存取其集合和文件,依名稱擷取現有的資料庫。
var collections = client.GetDatabase("adventureworks").ListCollectionNames();
Console.WriteLine($"The database has {collections.ToList().Count} collection.");
取得所有資料庫供應項目清單
您可以使用 MongoClient
來擷取伺服器上所有資料庫的清單。
var dbFindList = client.ListDatabaseNames().ToList();
然後,您可以使用這項技術來檢查資料庫是否已經存在。
var dbFound = dbFindList.FirstOrDefault(x => x == "adventureworks");
if (dbFound is not null)
{
Console.WriteLine($"{dbFound} database found");
}
else
{
Console.WriteLine($"{dbFound} database not found.");
}
卸除資料庫
使用 DB 類別上的 DropDatabase
方法,從伺服器中移除資料庫。
client.DropDatabase("adventureworks");