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

从服务器获取 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/

相关文章:

node.js - 使用 Mongoose (MongoDB) 查询嵌套文档

mongodb - 在MongoDB中将字段乘以值

node.js - 按日期时间字段获取最新的 MongoDB 记录

javascript - Meteor.js 部署到 "example.com"还是 "www.ex

mongodb - MongoDb 2.2、2.4 和 2.6 中的 Map-Reduce 性能

mongodb - 如何将 MongoDB 副本集转换为独立服务器

mongodb - 错误 : No unix socket support on windows c

java - 为 MongoDB Java 驱动程序配置日志记录

mongodb - 使用 MongoEngine 排序?

mongodb - 是否可以从集合中 mongodump 转储最后的 "x"记录?