ief*_*fpw 32 c# mongodb mongodb-.net-driver
从服务器获取后,如何将BsonDocument对象反序列化回类?
QueryDocument _document = new QueryDocument("key", "value");
MongoCursor<BsonDocument> _documentsReturned = _collection.FindAs<BsonDocument>(_document);
foreach (BsonDocument _document1 in _documentsReturned)
{
//deserialize _document1
//?
}
Run Code Online (Sandbox Code Playgroud)
我是否使用BsonReader进行反序列化?
And*_*ich 74
实际上有三种方式:
1.指定要直接加载的类型 FindAs<>
var docs = _collection.FindAs<MyType>(_document);
Run Code Online (Sandbox Code Playgroud)
2.通过BsonSerializer
以下方式反序列化文档:
BsonSerializer.Deserialize<MyType>(doc);
Run Code Online (Sandbox Code Playgroud)
3.手动将bson文档映射到您的类:
var myClass = new Mytype();
myClass.Name = bsonDoc["name"].AsString;
Run Code Online (Sandbox Code Playgroud)
对于大多数情况,你可以采用第一种方法.但有时,当您的文档是非结构化的时,您可能需要采用第三种方法.