如何将BsonDocument对象反序列化回类

从服务器获取后,如何将BsonDocument对象反序列化回类?

QueryDocument _document = new QueryDocument("key", "value"); MongoCursor _documentsReturned = _collection.FindAs(_document); foreach (BsonDocument _document1 in _documentsReturned) { //deserialize _document1 //? } 

我是否使用BsonReader进行反序列化?

实际上有三种方式:

1.指定要在FindAs<>直接加载的类型

 var docs = _collection.FindAs(_document); 

2.通过BsonSerializer序列化文档:

 BsonSerializer.Deserialize(doc); 

3.手动将bson文档映射到您的class级:

 var myClass = new Mytype(); myClass.Name = bsonDoc["name"].AsString; 

对于大多数情况,你可以采用第一种方法。 但有时,当您的文档是非结构化的时,您可能需要采用第三种方法。