MongoDB中的数据在同一集合中具有灵活的schema.documents.它们不需要具有相同的字段或结构集,并且集合文档中的公共字段可以包含不同类型的数据.
根据用户要求设计架构.
如果要将对象组合在一起,请将对象合并到一个文档中.将它们分开(但要确保不需要连接).
复制数据(但有限),因为与计算机相比,磁盘空间便宜时间.
写入时加入,而不是读取.
优化模式对于最常见的用例.
在架构中进行复杂聚合.
假设客户需要为他的博客/网站设计数据库,并查看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中,数据将仅显示在一个集合中.