Zarządzanie dokumentem w usłudze Azure Cosmos DB dla bazy danych MongoDB przy użyciu platformy .NET
DOTYCZY: MongoDB
Zarządzanie dokumentami bazy danych MongoDB przy użyciu możliwości wstawiania, aktualizowania i usuwania dokumentów.
Dokumentacja referencyjna interfejsu API dla bazy danych | MongoDB — pakiet MongoDB (NuGet)
Wstawianie dokumentu
Wstaw jeden lub wiele dokumentów zdefiniowanych za pomocą schematu JSON do kolekcji.
// 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);
Aktualizowanie dokumentu
Aby zaktualizować dokument, określ filtr zapytania używany do znalezienia dokumentu wraz z zestawem właściwości dokumentu, który ma zostać zaktualizowany.
// 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);
Zbiorcze aktualizacje kolekcji
Za pomocą operacji bulkWrite można wykonywać jednocześnie kilka różnych typów operacji. Dowiedz się więcej na temat optymalizowania operacji zapisu zbiorczego dla usługi Azure Cosmos DB.
Dostępne są następujące operacje zbiorcze:
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);
Usuwanie dokumentu
Aby usunąć dokumenty, użyj zapytania, aby zdefiniować sposób znajdowania dokumentów.
var deleteFilter = Builders<BsonDocument>.Filter.Eq("name", "Sand Surfboard Pro X");
collection.DeleteOne(deleteFilter);