Ответ 1
На самом деле существует три способа:
1. Укажите тип, который вы хотите загрузить непосредственно в FindAs<>
var docs = _collection.FindAs<MyType>(_document);
2.Deserialize документ через BsonSerializer
:
BsonSerializer.Deserialize<MyType>(doc);
3.Map bson document вручную для вашего класса:
var myClass = new Mytype();
myClass.Name = bsonDoc["name"].AsString;
В большинстве случаев вы в порядке с первым подходом. Но иногда, когда ваши документы неструктурированы, вам может понадобиться третий подход.