C# 使用MongoDB驱动程序2.4.4更新多字段

C# 使用MongoDB驱动程序2.4.4更新多字段,c#,mongodb-.net-driver,C#,Mongodb .net Driver,我正在尝试使用MongoDb.Driver2.4.4更新文档中的多个字段 我搜索了Stackoverflow,所有类似的潜在问题都是针对允许链接.Set()函数的旧版本。2.4.4似乎不允许这样做 我的代码目前包括 var update = MongoDB.Driver.Builders<UserLocation>.Update.Set(x => x.Loction, coordinates); var updateResult = await this._mongo.Taps

我正在尝试使用
MongoDb.Driver
2.4.4更新文档中的多个字段

我搜索了Stackoverflow,所有类似的潜在问题都是针对允许链接
.Set()
函数的旧版本。2.4.4似乎不允许这样做

我的代码目前包括

var update = MongoDB.Driver.Builders<UserLocation>.Update.Set(x => x.Loction, coordinates);
var updateResult = await this._mongo.Taps.UpdateOneAsync(filter, update);
var update=MongoDB.Driver.Builders.update.Set(x=>x.location,坐标);
var updateResult=等待此消息。_mongo.Taps.UpdateOneAsync(过滤器,更新);
我想在这里更新一个额外的字段,并在一个事务中更新所有字段

我已经搜索了Stackoverflow和所有可能出现的问题 对于允许链接.Set()的较旧版本,情况也类似 功能。2.4.4似乎不允许这样做

这里什么都没有改变,MongoDb。2.4.4版本的驱动程序仍然允许链接
Set
调用

UpdateDefinitionBuilder.Set()
返回
UpdateDefinition
的实例。链式
Set()
调用是通过
UpdateDefinition
类的扩展方法完成的。此扩展方法在
MongoDB.Driver
命名空间中的
UpdateDefinitionExtensions
类中定义

我打赌您没有使用
MongoDB.Driver
名称空间的指令,因为在代码段中您明确指定了
MongoDB.Driver
名称空间。这就是为什么编译器不知道应该调用的
Set()
扩展方法

要解决此问题并编译chained
Set()
调用,只需添加

using MongoDB.Driver;
在源文件的顶部。然后您将能够链接
Set()
调用:

var update = Builders<UserLocation>.Update.Set(x => x.Loction, coordinates)
    .Set(x => x.SomeField1, someValue1)
    .Set(x => x.SomeField2, someValue2);
var updateResult = await this._mongo.Taps.UpdateOneAsync(filter, update);
var update=Builders.update.Set(x=>x.location,坐标)
.Set(x=>x.SomeField1,someValue1)
.Set(x=>x.SomeField2,someValue2);
var updateResult=等待此消息。_mongo.Taps.UpdateOneAsync(过滤器,更新);
我已经搜索了Stackoverflow和所有可能出现的问题 对于允许链接.Set()的较旧版本,情况也类似 功能。2.4.4似乎不允许这样做

这里什么都没有改变,MongoDb。2.4.4版本的驱动程序仍然允许链接
Set
调用

UpdateDefinitionBuilder.Set()
返回
UpdateDefinition
的实例。链式
Set()
调用是通过
UpdateDefinition
类的扩展方法完成的。此扩展方法在
MongoDB.Driver
命名空间中的
UpdateDefinitionExtensions
类中定义

我打赌您没有使用
MongoDB.Driver
名称空间的指令,因为在代码段中您明确指定了
MongoDB.Driver
名称空间。这就是为什么编译器不知道应该调用的
Set()
扩展方法

要解决此问题并编译chained
Set()
调用,只需添加

using MongoDB.Driver;
在源文件的顶部。然后您将能够链接
Set()
调用:

var update = Builders<UserLocation>.Update.Set(x => x.Loction, coordinates)
    .Set(x => x.SomeField1, someValue1)
    .Set(x => x.SomeField2, someValue2);
var updateResult = await this._mongo.Taps.UpdateOneAsync(filter, update);
var update=Builders.update.Set(x=>x.location,坐标)
.Set(x=>x.SomeField1,someValue1)
.Set(x=>x.SomeField2,someValue2);
var updateResult=等待此消息。_mongo.Taps.UpdateOneAsync(过滤器,更新);