sql >> Database >  >> NoSQL >> MongoDB

C# MongoDB-stuurprogramma - Hoe UpdateDefinitionBuilder te gebruiken?

Als u eenvoudig meerdere eigenschappen wilt bijwerken, kunt u Set . bellen op update builder en maak vervolgens een aanroep naar Set uitbreidingsmethoden. U kunt ofwel lambda-expressie of eigenschapsnaam gebruiken.

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

collection.UpdateOneAsync(filter, update, updateOptions);

Als u bepaalde eigenschappen voorwaardelijk wilt bijwerken, moet u een verzameling van de updates maken en deze vervolgens combineren:

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. Vind documenten met een matrix die geen specifieke waarde bevat

  2. Hoe een document waarnaar wordt verwezen door een id in mongoDB uit php verwijderen?

  3. Mongoose Bevolken basis op een ander veld Dynamische ref

  4. Mongo-verzameling laten vallen, maakt schijfruimte niet vrij