在C#中的bson文档中验证bsonull的最佳方法

本文关键字:bsonull 最佳 方法 验证 中的 bson 文档 | 更新日期: 2023-09-27 18:20:28

我的示例文档如下所示。

 sampledoc = { "name" : "shan",
                   "address" : {
                                "add1" : "",
                                "add2": null
                                }
                  }

如果我需要得到add2=>的值

var valueR = sampledoc["address"].asbsondocument["add2"].asstring;

所以,如果有价值,那就是给予完美。如果mongodb中的地址是bsonFull,那么这一次它将给出强制转换错误。

所以我使用这样的条件

if(!sampledoc["address"].IsBsonNUll && !sampledoc["address"].asbsondocument["add2"].IsBsonNUll )
{
//do that stuff
}

这很好。但是如果嵌套文档达到3-4级,那么这些看起来就不好了。

有没有其他方法可以像add2字段为null或不在直线上那样进行整体验证,而不像我在IF条件中单独验证

在C#中的bson文档中验证bsonull的最佳方法

通常应该将文档转换为c#对象。您仍然需要在内部对象上检查null,但它看起来更干净。