C# 如何检查BsonDocument中是否存在密钥,或者是否使用Mongodb C驱动程序?

C# 如何检查BsonDocument中是否存在密钥,或者是否使用Mongodb C驱动程序?,c#,mongodb,.net-core,bsondocument,C#,Mongodb,.net Core,Bsondocument,我使用C驱动程序从mongodb接收数据BsonDocument,如下所示: { "_id":ObjectId("5c8730688a247070ca5e4a15"), "visitorEmail":"UnRegistered", "visitorName":"Guest040704", "agentEmail":"salman@blauda.com", "sessionid":"5c86e0f88a247070ca5e48e6", "createdOn":"2019-03-12T

我使用C驱动程序从mongodb接收数据BsonDocument,如下所示:

{ 
 "_id":ObjectId("5c8730688a247070ca5e4a15"),
 "visitorEmail":"UnRegistered",
 "visitorName":"Guest040704",
 "agentEmail":"salman@blauda.com",
 "sessionid":"5c86e0f88a247070ca5e48e6",
 "createdOn":"2019-03-12T04:07:04.455Z",
 "state":3,
 "messages":[ 

  ],
"messageReadCount":0,
"lastMessage":{ 
   "_id":ObjectId("5c8730688a247070ca5e4a16"),
    "from":"MEHAK",
    "to":"Guest040704",
    "body":"Hello.. How may i Help You ?",
    "cid":ObjectId("5c8730688a247070ca5e4a15"),
    "date":"2019-03-12T04:07:04.455Z",
    "type":"Agents",
     "attachment":false,
     "filename":null
   },
 "entertained":true,
 "endingDate":"2020-01-15T05:47:37.170Z"
}
现在我想检查分配给_的密钥是否存在于该文档中。所以我试了一下:

convObject.TryGetValue("assigned_to", out isAssignedToExist);
Console.WriteLine("is assigned to ---- : "+isAssignedToExist);
无论密钥是否存在,我都会得到这样的错误,而不是结果:

ErorrSystem.Collections.Generic.KeyNotFoundException: Element 'assigned_to' not found.at 
MongoDB.Bson.RawBsonDocument.GetValue(String name) at 
sqs_processor.QueueService.ExecuteAsync(CancellationToken stoppingToken) in 
D:\OfficeProjects\beelinksanalytics\Services\queueService.cs:line 100
用于查看密钥是否存在

bool assignedToExists=convObject.Containsassigned\u to 堆栈跟踪还表明您使用了GetValue,而不是您的问题所建议的TryGetValue

返回一个布尔值,该值指示检索是否成功,即:键存在并且该值被分配给out变量

这当然可以简化,我已经扩展了详细的代码

bool assignedToExists=convaluet.TryGetValueassigned_to,out BsonValue assignedtoValue; 如果被指派的话 { Console.WriteLineAsigned to exists,值为{0},已分配给值; }