Sdílet prostřednictvím


Správa dokumentu ve službě Azure Cosmos DB pro MongoDB pomocí .NET

PLATÍ PRO: MongoDB

Spravujte dokumenty MongoDB s možností vkládat, aktualizovat a odstraňovat dokumenty.

Poznámka:

Ukázkové fragmenty kódu jsou k dispozici na GitHubu jako projekt .NET.

Referenční dokumentace | k rozhraní API pro MongoDB – Balíček MongoDB (NuGet)

Vložení dokumentu

Vložte do kolekce jeden nebo více dokumentů definovaných pomocí schématu 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);

Aktualizace dokumentu

Chcete-li aktualizovat dokument, zadejte filtr dotazu použitý k vyhledání dokumentu spolu se sadou vlastností dokumentu, které by se měly aktualizovat.

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

Hromadné aktualizace kolekce

Pomocí operace bulkWrite můžete provést několik různých typů operací najednou. Přečtěte si další informace o tom, jak optimalizovat hromadné zápisy pro službu Azure Cosmos DB.

K dispozici jsou následující hromadné operace:

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

Odstranění dokumentu

Pokud chcete odstranit dokumenty, použijte dotaz k definování způsobu nalezení dokumentů.

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

collection.DeleteOne(deleteFilter);

Viz také