在 MongoDB 中的数据具有灵活的模式。在相同集合中的文档并不需要有相同的一组字段或结构的公共字段的集合的文档可容纳不同类型的数据。
可根据用户要求设计架构。
合并的对象为一个文件,如果使用它们则放在一起。否则它们分开(但确保不应该有需要的连接)。
重复的数据(但有限),因为磁盘空间便宜(相比计算时间)。
不要连接而写,而不是读。
优化架构最常见的用例。
在模式上做复杂的聚集。
假设一个客户端需要一个数据库设计,他的博客网站看看RDBMS 和 MongoDB 架构设计之间的差异。网站有以下要求。
每一个岗位都有独特的标题,描述和网址。
每一个岗位可以有一个或多个标签。
每一个岗位都有其出版商总数喜欢的名称。
每一个岗位有意见连同他们的名字,消息,数据的时间和喜欢的用户。
在每个岗位上,可以是零个或多个注释。
上述要求在RDBMS模式设计,将有至少三个表。
在MongoDB 模式设计将发布一个集合,并具有以下结构:
{ _id: POST_ID title: TITLE_OF_POST, description: POST_DESCRIPTION, by: POST_BY, url: URL_OF_POST, tags: [TAG1, TAG2, TAG3], likes: TOTAL_LIKES, comments: [ { user:'COMMENT_BY', message: TEXT, dateCreated: DATE_TIME, like: LIKES }, { user:'COMMENT_BY', message: TEXT, dateCreated: DATE_TIME, like: LIKES } ] }
因此,尽管RDBMS中显示的数据,需要加入三个表,在MongoDB数据只能从一个集合。