我们公司开发了一款企业博客软件,采用mongodb这种存储海量数据的数据库。简单介绍一下软件的需求,方便后面讨论数据库设计,用户登录后,只能浏览别人发送的微博,只有他加入企业后,才可以代表企业发微博,同时被企业认证过的人或是企业员工可以在系统内转发微博。
数据库设计的时候,只有三个角色,就是人,公司,新闻,因此一开始设计的时候,就只有user,com,news三个表,加上日志表,新闻举报表等附属表。为了加快查询速度,采用redis保存了部分数据副本。
在开发中发现mongodb的多层嵌套不能太深,最好是两层,最多三层,否则增删改查数据不方便。这里的两层指的是一份文档下有一个列表,三层指的是这个列表的元素中,仍然有列表。