sql >> Databasteknik >  >> NoSQL >> MongoDB

C# MongoDB-drivrutin - Hur använder man UpdateDefinitionBuilder?

Om du bara behöver uppdatera flera egenskaper kan du ringa Set på uppdateringsbyggaren och gör sedan ett efterföljande anrop till Set förlängningsmetoder. Du kan antingen använda lambda-uttryck eller egenskapsnamn.

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

collection.UpdateOneAsync(filter, update, updateOptions);

Om du vill uppdatera vissa egenskaper bör du skapa en samling av uppdateringarna och sedan kombinera 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. förstå MongoDB cachesystem

  2. XML till BSON med C#

  3. mongodb hur frågar man med nand-operatören?

  4. Redis letar efter env redis url-variabel inte säker på var env-variabeln ska placeras dålig URI(är inte URI?):(URI::InvalidURIError)