从服务器获取 BsonDocument 对象后,如何将其反序列化回类?
QueryDocument _document = new QueryDocument("key", "value");
MongoCursor<BsonDocument> _documentsReturned = _collection.FindAs<BsonDocument>(_document);
foreach (BsonDocument _document1 in _documentsReturned)
{
//deserialize _document1
//?
}
我是否使用 BsonReader 反序列化?
最佳答案
其实有三种方式:
1.直接在FindAs<>
中指定要加载的类型
var docs = _collection.FindAs<MyType>(_document);
2.通过BsonSerializer
反序列化文档:
BsonSerializer.Deserialize<MyType>(doc);
3.将 bson 文档手动映射到您的类(class):
var myClass = new Mytype();
myClass.Name = bsonDoc["name"].AsString;
在大多数情况下,您可以使用第一种方法。但有时,当您的文档是非结构化的时,您可能需要第三种方法。
https://stackoverflow.com/questions/9478613/