开发手册 欢迎您!
软件开发者资料库

MongoDB - 数据建模

MongoDB数据建模 - 从简单和简单的步骤开始学习MongoDB,从基本到高级概念,包括什么是mongoD?,为什么以及在哪里使用它?,环境设置,创建集合,文档。

MongoDB中的数据在同一集合中具有灵活的schema.documents.它们不需要具有相同的字段或结构集,并且集合文档中的公共字段可以包含不同类型的数据.

一些在MongoDB中设计Schema时的注意事项

  • 根据用户要求设计架构.

  • 如果要将对象组合在一起,请将对象合并到一个文档中.将它们分开(但要确保不需要连接).

  • 复制数据(但有限),因为与计算机相比,磁盘空间便宜时间.

  • 写入时加入,而不是读取.

  • 优化模式对于最常见的用例.

  • 在架构中进行复杂聚合.

示例

假设客户需要为他的博客/网站设计数据库,并查看RDBMS和MongoDB架构设计之间的差异.网站有以下要求.

  • 每个帖子都有唯一的标题,描述和网址.

  • 每个帖子都可以有一个或多个标签.

  • 每个帖子都有其出版商的名称和喜欢的总数.

  • 每个帖子都有评论用户提供的名称,消息,数据时间和喜欢.

  • 在每篇帖子上,可以有零个或多个评论.

在RDBMS模式中,针对上述要求的设计将至少有三个表.

 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中,数据将仅显示在一个集合中.