共用方式為


使用 .NET 在 Azure Cosmos DB for MongoDB 中管理集合

適用於: MongoDB

使用原生 MongoDB 用戶端驅動程式來管理儲存在 Azure Cosmos DB 中的 MongoDB 集合。

注意

範例程式碼片段可在 GitHub 作為 .NET 專案使用。

API for MongoDB 參考文件 | MongoDB 套件 (NuGet)

為集合命名

在 Azure Cosmos DB 中,集合類似於關聯式資料庫中的資料表。 當您建立集合時,集合名稱會成為存取集合資源和任何子文件的 URI 區段。

取得集合執行個體

使用 Collection 類別的執行個體來存取伺服器上的集合。

下列程式碼片段假設您已建立用戶端連線

建立集合

若要建立集合,請將文件插入集合中。

// 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());
}

另請參閱