MongoDB-如何将集合反序列化为List<;词典<;字符串,对象>>;
本文关键字:lt gt 词典 对象 字符串 List 集合 反序列化 MongoDB- | 更新日期: 2023-09-27 18:27:48
我正在将我的应用程序从使用SQL Server切换到使用MongoDB。这样做的主要原因之一是使用无结构集合的可能性。在我的"SQL版本"中,我有一个名为RawSensorMessage
的对象,它包含许多属性,在大多数情况下,它们大多是空的。因此,当我进入Mongo时,我将RawSensorMessage
的定义更改为以下定义:
[DataContract]
public class RawSensorMessage
{
[DataMember]
public Dictionary<string, object> Data { get; set; }
}
假设在Mongo内部,我有一个包含许多记录的集合,每个记录都包含不同的属性。当我查询这个集合时,我不想把它映射到强类型对象,我想把它查询到"RawSensorMessage"对象(意思是用属性和值填充里面的"Data"字典)。
我该怎么做?使用无结构集合是否被接受?
解决方案是将您从MongoDB获得的BSON文档转换为JSON对象:ToJSON()之后,您可以将JSON对象序列化为字典,如下所示:
var result = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);
希望得到帮助。