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()
扩展方法
要解决此问题并编译chainedSet()
调用,只需添加
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()
扩展方法
要解决此问题并编译chainedSet()
调用,只需添加
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(过滤器,更新);