使用 .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 將大量寫入最佳化。
以下是可用的大量作業:
MongoClient.Database.Collection.BulkWrite
insertOne
updateOne
updateMany
deleteOne
deleteMany
// 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);