zoukankan      html  css  js  c++  java
  • MongoDB (四) MongoDB 数据模型

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

  • 相关阅读:
    20170705总结
    20170703总结
    .NET 框架程序使用 Win32 API
    青春 就此别过
    Aptana Studio 2启动时提示 Workspace Cannot Be Created 解决办法
    App_GlobalResources.afvubzdv.resources.dll”--“拒绝访问。“
    c# 一维数组和二维数组的定义几种方式<转>.
    C#中Split分隔字符串的应用(C#、split、分隔、字符串)<转>
    C#操作字符串方法总结<转>
    C# 时间格式大全
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/4770824.html
Copyright © 2011-2022 走看看