標籤:vfp mnt sky 技術分享 lzo iba mib oal hdf
回到目錄
今天要說一下技術點,我們在設計mongodb的資料模型時,如果屬性是數組或者集合類型,我們在模型初始化時,需要為它們初始化一下,否則在資料庫裡將會被儲存為NULL,當被儲存為NULL時,我們將無法進行組件的push,pull等操作。
之間在設計模型時沒有注意這點,然後產生的問題就是,沒有被集合賦值,在mongodb裡將會儲存為NULL
而在對數組元素進行push時,當然就出現了下面的異常,因為mongodb不知道它是一個數組對象,呵呵
當我們為模組的集合屬性初始化這後,儲存的資料結構就是一個空元素的數組,
這時我們使用push命令,就可以進行添加元素的操作了
下面我們做一個整個的規定:例如下面這個Dog模型,為它的集合屬性做了初始化
public class Dog : NoSqlEntity { public Dog() { this.AddressHistory = new List<Adderss>(); this.DogHistory = new List<DogHistory>(); this.Foods = new string[] { }; } public Des Des { get; set; } public string Title { get; set; } public string Type { get; set; } public string[] Foods { get; set; } public List<DogHistory> DogHistory { get; set; } public List<Adderss> AddressHistory { get; set; } }
在進行添加操作時,你就不知道顯示的為它們賦值了,沒有賦值在mongodb裡也會是一個空元素的數組,這是符合我們設計的,看到這個資料模型,是否有點EF裡的poco實體的意思,呵呵!
回到目錄
MongoDB學習筆記~資料模型屬性為集合時應該為它初始化