使用 .NET 在 Azure Cosmos DB for MongoDB 中管理集合
適用於: MongoDB
使用原生 MongoDB 用戶端驅動程式來管理儲存在 Azure Cosmos DB 中的 MongoDB 集合。
注意
範例程式碼片段可在 GitHub 作為 .NET 專案使用。
API for MongoDB 參考文件 | MongoDB 套件 (NuGet)
為集合命名
在 Azure Cosmos DB 中,集合類似於關聯式資料庫中的資料表。 當您建立集合時,集合名稱會成為存取集合資源和任何子文件的 URI 區段。
取得集合執行個體
使用 Collection 類別的執行個體來存取伺服器上的集合。
下列程式碼片段假設您已建立用戶端連線。
建立集合
若要建立集合,請將文件插入集合中。
- MongoClient.Database.Collection
- MongoClient.Database.Collection.InsertOne
- MongoClient.Database.Collection.InsertMany
// insert one document
var product = new BsonDocument
{
{ "name", "Sand Surfboard" },
{ "category", "gear-surf-surfboards" },
{ "count", 1 }
};
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertOne(product);
// insert many documents
var products = new List<BsonDocument>()
{
new BsonDocument
{
{ "name", "Sand Surfboard" },
{ "category", "gear-surf-surfboards" },
{ "count", 1 }
},
new BsonDocument
{
{ "name", "Ocean Surfboard" },
{ "category", "gear-surf-surfboards" },
{ "count", 5 }
}
};
client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").InsertMany(products);
卸除集合
從資料庫卸除集合,以永久移除集合。 不過,存取集合的下一個插入或更新作業將會使用該名稱建立新的集合。
client.GetDatabase("adventureworks").DropCollection("products");
取得集合索引
MongoDB 查詢引擎會使用索引來改善資料庫查詢的效能。
var indexes = client.GetDatabase("adventureworks").GetCollection<BsonDocument>("products").Indexes;
var count = 0;
using (var cursor = await indexes.ListAsync())
{
do
{
if (cursor.Current != null)
{
foreach (var index in cursor.Current)
{
Console.WriteLine(cursor.Current);
count++;
}
}
}
while (await cursor.MoveNextAsync());
}