C# 使用MongoDB c更新One、ReplaceOne和DeleteMany时出错#

C# 使用MongoDB c更新One、ReplaceOne和DeleteMany时出错#,c#,mongodb,C#,Mongodb,尝试执行这些命令(UpdateOne、ReplaceOne和DeleteMany)时出现重复错误 var filterDelete = Builders<BsonDocument>.Filter.Not(Builders<BsonDocument>.Filter.Eq("GUIDUpdate", guidUpdate)); maintenancesCollection.DeleteMany(filterDelete); Mongo

尝试执行这些命令(UpdateOne、ReplaceOne和DeleteMany)时出现重复错误

var filterDelete = Builders<BsonDocument>.Filter.Not(Builders<BsonDocument>.Filter.Eq("GUIDUpdate", guidUpdate));
                    maintenancesCollection.DeleteMany(filterDelete);
MongoDB.Driver.MongoConnectionException HResult=0x80131500
Mensaje=打开与服务器的连接时发生异常 服务器。Origen=MongoDB.Driver.Core Seguimiento de la pila:en MongoDB.Driver.Core.Connections.BinaryConnection.OpenHelper(CancellationToken 取消令牌)en MongoDB.Driver.Core.Connections.BinaryConnection.Open(CancellationToken 取消令牌)en MongoDB.Driver.Core.ConnectionPools.ExclusiveConnectionPool.AcquiredConnection.Open(CancellationToken 取消令牌)en MongoDB.Driver.Core.Servers.Server.GetChannel(CancellationToken 取消令牌)en MongoDB.Driver.Core.Bindings.ServerChannelSource.GetChannel(CancellationToken 取消令牌)en MongoDB.Driver.Core.Bindings.ChannelSourceHandle.GetChannel(CancellationToken 取消令牌)en MongoDB.Driver.Core.Operations.RetryableWriteContext.Create(IWriteBinding 绑定,布尔retryRequested,CancellationToken CancellationToken) EN MongoDB.Driver.Core.Operations.BulkMixedWriteOperation.Execute(IWriteBinding 绑定,取消令牌取消令牌)en MongoDB.Driver.OperationExecutor.ExecuteWriteOperation[TResult](IWriteBinding 绑定,IWriteOperation
1操作,CancellationToken
取消令牌)en
MongoDB.Driver.MongoCollectionImpl
1.ExecuteWriteOperation[TResult](IClientSessionHandle 会话,IWriteOperation
1操作,取消令牌
取消令牌)en
MongoDB.Driver.MongoCollectionImpl
1.BulkWrite(IClientSessionHandle 会话、IEnumerable
1请求、批量写入选项、,
取消令牌取消令牌)en
MongoDB.Driver.MongoCollectionImpl
1.c_uu显示类23_0.b_u0(IClientSessionHandle 会话)en MongoDB.Driver.MongoCollectionImpl
1.使用implicitsession[TResult](Func
2 func,CancellationToken CancellationToken)en MongoDB.Driver.MongoCollectionImpl
1.BulkWrite(IEnumerable
1请求, BulkWriteOptions选项,CancellationToken CancellationToken)en MongoDB.Driver.MongoCollectionBase
1.c\u显示类94\u 0.b\u 0(IEnumerable
1 请求,BulkWriteOptions BulkWriteOptions)en MongoDB.Driver.MongoCollectionBase
1.UpdateOne(FilterDefinition
1 过滤器,更新定义
1更新,更新选项,函数
bulkWrite)en
MongoDB.Driver.MongoCollectionBase
1.UpdateOne(FilterDefinition
1 过滤器,更新定义
1更新,更新选项,
取消令牌取消令牌)en
DataManager.UpdateElements.c__显示类86_0.b__0(传输开关
EN
System.Threading.Tasks.Parallel.c_uuuDisplayClass31_0
2.b_uu0(Int32 i) 嗯 System.Threading.Tasks.Parallel.c__DisplayClass17_0`1.b_u 1()

类方法中parallel.ForEach()中崩溃的代码行

var BsonData = new BsonDocument
                    {
                        {"ICurrent", Math.Round(transferSwitch.ICurrent,1)},
                        {"Load", load},
                    };
                var filterId = new BsonDocument("_id", transferSwitch.Id);
                var updateTransferSwitch = new BsonDocument("$set", BsonData);
                transferSwitchesCollection.UpdateOne(filterId, updateTransferSwitch);
在另一个类中,方法是DeleteMany

var filterDelete = Builders<BsonDocument>.Filter.Not(Builders<BsonDocument>.Filter.Eq("GUIDUpdate", guidUpdate));
                    maintenancesCollection.DeleteMany(filterDelete);
如何修复这些错误

更新
为此,我使用mongoDB.Driver的2.1版本

我几乎无法读取您的堆栈跟踪。您能重新格式化它吗?另外,您使用的是
bulkWrite
(我在您的堆栈跟踪中看到了提及)?如果您使用的是BulkWrite,请确保您也记录了BulkWriteException详细信息。@Robertseam谢谢您的回答,制作一个过时的BulkWriteException。我使用的是mongo DBApologies的2.1版,我不熟悉c#api。我看到
在打开与服务器的连接时发生异常
。是否可能是server此时已关闭?搜索该错误可能会导致您找到答案..可能是这个?还是这个?服务器是否可能已关闭?否!我使用这段代码检查mogo是否处于活动状态-->bool isMongoLive=DataSource.MongoDataBase.RunCommandAsync((