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-如何将集合反序列化为List<;词典<;字符串,对象>>;

解决方案是将您从MongoDB获得的BSON文档转换为JSON对象:ToJSON()之后,您可以将JSON对象序列化为字典,如下所示:

var result = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);

希望得到帮助。