博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB (四) MongoDB 数据模型
阅读量:4960 次
发布时间:2019-06-12

本文共 949 字,大约阅读时间需要 3 分钟。

在 MongoDB 中的数据有灵活的模式。在相同集合中文档并不需要有相同的一组字段或结构的公共字段的集合,文档可容纳不同类型的数据。

MongoDB设计模式的一些考虑

  • 可根据用户要求设计架构。

  • 合并对象为一个文件,如果要将它们放在一起。否则分开它们(但确保不需要连接)。

  • 重复数据(有限),因为磁盘空间便宜(相比计算时间)。

  • 不需要连接写入,而是读。

  • 优化架构是最常见的用例。

  • 在模式上做复杂的聚集。

例子

假设一个客户端需要一个数据库设计,设计一个博客网站,来看看 RDBMS 和 MongoDB 架构设计之间的差异。网站有以下要求。

  • 每一个文章内容都有独特的标题,描述和网址。

  • 每一个文章内容可以有一个或多个标签。

  • 每一个文章内容都有其出版商总数喜欢的名称。

  • 每一个文章内容有评论以及名字,消息,时间和喜欢的用户。

  • 对于每个文章,可以是零个或多个评论。

上述要求在RDBMS模式设计,将有至少三个表。

RDBMS Schema Design

在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数据只是从一个集合。

转载于:https://www.cnblogs.com/longshiyVip/p/4770824.html

你可能感兴趣的文章
access remote libvirtd
查看>>
(4) Orchard 开发之 Page 的信息存在哪?
查看>>
ASP.NET中 GridView(网格视图)的使用前台绑定
查看>>
深入了解Oracle ASM(二):ASM File number 1 文件目录
查看>>
Boosting(提升方法)之AdaBoost
查看>>
链接元素<a>
查看>>
Binding object to winForm controller through VS2010 Designer(通过VS2010设计器将对象绑定到winForm控件上)...
查看>>
Spring Boot实战笔记(二)-- Spring常用配置(Scope、Spring EL和资源调用)
查看>>
活现被翻转生命
查看>>
POJ 1228
查看>>
SwaggerUI+SpringMVC——构建RestFul API的可视化界面
查看>>
springmvc怎么在启动时自己执行一个线程
查看>>
流操作的规律
查看>>
Python基础学习15--异常的分类与处理
查看>>
javascript运算符的优先级
查看>>
React + Redux 入门(一):抛开 React 学 Redux
查看>>
13位时间戳和时间格式化转换,工具类
查看>>
vue router-link子级返回父级页面
查看>>
C# 通知机制 IObserver<T> 和 IObservable<T>
查看>>
Code of Conduct by jsFoundation
查看>>