如果您只需更新多个属性,则可以Set在更新构建器上调用,然后对Set扩展方法进行后续调用。您可以使用lambda表达式或属性名称。
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);
本文介绍如何使用MongoDB的更新操作来高效地修改文档中的多个属性。通过示例展示了如何使用Set方法更新特定字段,并提供了有条件地更新不同属性的方法。

5032

被折叠的 条评论
为什么被折叠?



