Jika Anda hanya perlu memperbarui beberapa properti, Anda dapat memanggil Set
pada pembuat pembaruan dan kemudian lakukan panggilan berikutnya ke Set
metode ekstensi. Anda dapat menggunakan ekspresi lambda atau nama properti.
var update = Builders<Product>.Update
.Set(p => Name, "Name value")
.Set(p => Description, "Description value");
collection.UpdateOneAsync(filter, update, updateOptions);
Jika Anda ingin memperbarui beberapa properti secara kondisional, Anda harus membuat kumpulan pembaruan dan menggabungkannya:
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);