簡體   English   中英

MongoDB-如何將集合反序列化到列表 <Dictionary<string, object> &gt;

[英]MongoDB - how to deserialize collection to List<Dictionary<string, object>>

我將應用程序從使用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);

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM