MongoDB学习笔记~数据模型属性为集合时应该为它初始化
今天要说一下技术点,我们在设计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实体的意思,呵呵!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步