sql >> Database teknologi >  >> NoSQL >> MongoDB

C# MongoDB Driver - Hvordan bruger man UpdateDefinitionBuilder?

Hvis du blot skal opdatere flere egenskaber, kan du ringe til Set på opdateringsbyggeren, og foretag derefter et efterfølgende kald til Set udvidelsesmetoder. Du kan enten bruge lambda-udtryk eller egenskabsnavn.

var update = Builders<Product>.Update
    .Set(p => Name, "Name value")
    .Set(p => Description, "Description value");

collection.UpdateOneAsync(filter, update, updateOptions);

Hvis du vil betinget opdatere nogle egenskaber, skal du oprette en samling af opdateringerne og derefter kombinere dem:

var update = Builders<Product>.Update;
var updates = new List<UpdateDefinition<Product>>();

updates.Add(update.Set("propertyA", "add A update"));

if ()
    updates.Add(update.Set("propertyX", "add X update"));
else
    updates.Add(update.Set("propertyY", "add Y update"));

updates.Add(update.Set(p => p.PropertyB, "add B update"));

if ()
    updates.Add(update.Set(p => p.PropertyZ, "add Z update"));
else
    updates.Add(update.Set(p => p.PropertyP, "add P update"));

Collection.UpdateOneAsync(filter, update.Combine(updates), updateOptions);



  1. StackExchange.Redis - LockTake / LockRelease-brug

  2. Sådan forudspalter du en GUID-baseret Shard-nøgle med MongoDB

  3. NoSQL (MongoDB) vs Lucene (eller Solr) som din database

  4. Hvad er fordelene ved at bruge en skemafri database som MongoDB sammenlignet med en relationel database?