यदि आपको बस एक से अधिक गुणों को अपडेट करने की आवश्यकता है तो आप Set
. पर कॉल कर सकते हैं अपडेट बिल्डर पर और फिर Set
. पर बाद में कॉल करें विस्तार के तरीके। आप या तो लैम्ब्डा एक्सप्रेशन या प्रॉपर्टी के नाम का उपयोग कर सकते हैं।
var update = Builders<Product>.Update
.Set(p => Name, "Name value")
.Set(p => Description, "Description value");
collection.UpdateOneAsync(filter, update, updateOptions);
यदि आप कुछ गुणों को सशर्त रूप से अद्यतन करना चाहते हैं, तो आपको अद्यतनों का एक संग्रह बनाना चाहिए और फिर उन्हें संयोजित करना चाहिए:
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);