MongoDB C#连接更新对象

时间:2016-12-30 00:21:33

标签: c# mongodb

如果您有两个独立的更新对象:

var U1 = Builders<T>.Update.Set(_ => _.A, null);
var U2 = Builders<T>.Update.Set(_ => _.B, null);

如何将它们链接起来,结果如下:

var U = Builders<T>.Update.Set(_ => _.A, null).Set(_ => _.B, null);

我试着这样做:

var U = U1 & U2;

并且,虽然它适用于过滤器,但它不适用于更新

2 个答案:

答案 0 :(得分:2)

您可以通过附加新集来添加到现有更新定义。

var U1 = Builders<T>.Update.Set(_ => _.A, null);
var U = U1.Set(_ => _.B, null);

我承认&运算符不能用于更新定义,这有点好笑。另外:您自己的代码也暗示了这一点。

在我们的一个项目中,我们在循环中使用它来构造一组组合操作。

答案 1 :(得分:0)

如果你有多个条件或者你想使用 foreach 循环,你可以这样做

var update = Builders<User>.Update.Combine();
if(Name != null)
{
   update = update.Set(Name, newValue);
}

这样您就不必使用 set 语句来初始化更新对象。