在visualstudio中通过csharp驱动程序处理mongodb中不可预测的结构结果

本文关键字:不可预测 mongodb 结构 结果 处理 驱动程序 visualstudio csharp | 更新日期: 2023-09-27 18:20:58

我无法从MongoDB中检索结果,因为我已经声明了一个应该反映数据库中数据结构的类,但它并不准确。我无法确定数据的结构(结构松散)。

我是否可以以某种方式覆盖这种行为并返回数据库中的结果,而不是尝试(但失败了)将结构放入我的类中?

在visualstudio中通过csharp驱动程序处理mongodb中不可预测的结构结果

您可以只使用MongoDB。Bson.BsonDocument,它本质上只是一个字典,也可以定义一个表示所有文档的公共结构的类,然后使用BsonExtraElements属性来捕获所有不同的类。

以下是我使用的方法,它将允许解析具有不同或缺少字段的文档。您可能需要进行大量的null检查,因为您不能再期望所有字段都有内容,但这可能是不言而喻的。

[BsonIgnoreExtraElements]
public class MongoClass
{
...
}