共用方式為


使用 .NET 在 Azure Cosmos DB for MongoDB 中管理文件

適用於: MongoDB

使用插入、更新和刪除文件的功能來管理您的 MongoDB 文件。

注意

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

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

插入文件

將一或多個以 JSON 結構描述定義的文件插入集合中。

// insert one document
var product = new BsonDocument
{
    { "name", "Sand Surfboard" },
    { "category", "gear-surf-surfboards" },
    { "count", 1 }
};

collection.InsertOne(product);

// insert many documents
var products = new List<BsonDocument>() 
{
    new BsonDocument
    {
        { "name", "Lake Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 1 }
    },
    new BsonDocument
    {
        { "name", "Ocean Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 5 }
    }
};

collection.InsertMany(products);

更新文件

若要更新文件,請指定用來尋找文件的查詢篩選條件,以及應該更新的一組文件屬性。

// update one item
var filter = Builders<BsonDocument>.Filter.Eq("name", "Sand Surfboard");
var update = Builders<BsonDocument>.Update.Set("name", "Sand Surfboard Pro");

collection.UpdateOne(filter, update);

//update many items
var filterMany = Builders<BsonDocument>.Filter.Eq("category", "gear-surf-surfboards");
var updateMany = Builders<BsonDocument>.Update.Set("category", "gear-surfboards");

collection.UpdateMany(filterMany, updateMany);

集合的大量更新

您可以使用 bulkWrite 作業一次執行幾個不同類型的作業。 深入了解如何針對 Azure Cosmos DB 將大量寫入最佳化

以下是可用的大量作業:

// perform multiple different types of operations
var models = new WriteModel<BsonDocument>[]
{
    new InsertOneModel<BsonDocument>(new BsonDocument(new BsonDocument
    {
        { "name", "Wave Paddleboard" },
        { "category", "gear-surfboards" },
        { "count", 1 }
    })),
    new UpdateOneModel<BsonDocument>(
        Builders<BsonDocument>.Filter.Eq("name", "Sand Surfboard Pro"),
        Builders<BsonDocument>.Update.Set("name", "Sand Surfboard Pro X")),
    new DeleteOneModel<BsonDocument>(new BsonDocument("name", "Ocean Surfboard"))
};

collection.BulkWrite(models);

刪除文件

若要刪除文件,請使用查詢來定義如何找到文件。

var deleteFilter = Builders<BsonDocument>.Filter.Eq("name", "Sand Surfboard Pro X");

collection.DeleteOne(deleteFilter);

另請參閱