Это мой BsonDocument, который я извлекаю из своей коллекции MongoDb. Я хотел бы десериализовать (или сопоставить) это с объектом/классом, который я сделал на C#.Сопоставление BsonDocument с классом, но получение ошибки
{
"_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, но и для всех документов в моей коллекции.
Спасибо за ваше время.
Большое спасибо! Это было именно то, что я искал, и удивляюсь, что после всех моих поисков я никогда не видел этого атрибута. CatchAll отлично работает, и все работает. –