这是我从 MongoDb 集合中提取的 BsonDocument。我想将其反序列化(或映射)到我用 C# 制作的对象/类。
{
"_id" : ObjectId("5699715218a323101c663b9a"),
"type": null,
"text": "Hello this is text",
"user":
{
"hair": "brown",
"age": 64
}
}
这是我想将 BsonDocument 映射/反序列化到的类。我班级中的字段是我唯一要检索的字段。
public class MyType
{
public BsonObjectId _id { get; set; }
public BsonString text { get; set; }
}
目前,这就是我尝试执行此操作的方式,但我收到“元素'类型'与 MyType 类的任何字段或属性不匹配”的错误消息。我不想在 MyType 类中包含“类型”字段。
var collection = db.GetCollection<BsonDocument>("data_of_interest");
var filter = new BsonDocument();
var myData = collection.Find(filter).FirstOrDefault();
MyType myObject = BsonSerializer.Deserialize<MyType>(myData);
我在最后一行收到错误。在此示例中,我尝试仅对 MyType 对象的一个实例的一个文档执行此操作。我还对如何将整个集合反序列化为 MyType 对象或类似对象的列表感兴趣,其中它不仅适用于一个 BsonDocument,而且适用于我的集合中的所有文档。
谢谢你的时间。