How do I deserialize a BsonDocument object back to the class after getting it from the server?
QueryDocument _document = new QueryDocument("key", "value");
MongoCursor<BsonDocument> _documentsReturned = _collection.FindAs<BsonDocument>(_document);
foreach (BsonDocument _document1 in _documentsReturned)
{
//deserialize _document1
//?
}
Do I deserialize using a BsonReader?
There are three ways actually:
1.Specify type you want to load directly in FindAs<>
var docs = _collection.FindAs<MyType>(_document);
2.Deserialize document via BsonSerializer
:
BsonSerializer.Deserialize<MyType>(doc);
3.Map bson document manually to your class:
var myClass = new Mytype();
myClass.Name = bsonDoc["name"].AsString;
For most cases you are okay with first approach. But sometimes, when your documents is unstructured, you may need third approach.