Nếu bạn chỉ cần cập nhật nhiều thuộc tính, bạn có thể gọi Set
trên trình tạo bản cập nhật và sau đó thực hiện cuộc gọi tiếp theo tới Set
các phương pháp mở rộng. Bạn có thể sử dụng biểu thức lambda hoặc tên thuộc tính.
var update = Builders<Product>.Update
.Set(p => Name, "Name value")
.Set(p => Description, "Description value");
collection.UpdateOneAsync(filter, update, updateOptions);
Nếu bạn muốn cập nhật có điều kiện một số thuộc tính, bạn nên tạo một bộ sưu tập các bản cập nhật và sau đó kết hợp chúng:
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);