成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MongoDB之數據建模

數據庫 其他數據庫 MongoDB
MongoDB與關系型數據庫的建模還是有許多不同,因為MongoDB支持內嵌對象和數組類型。MongoDB建模有兩種方式,一種是內嵌(Embed),另一種是連接(Link)。那么何時Embed何時Link呢?那得看兩個實體之間的關系是什么類型。

 一對一的關系:Embed,比如用戶信息集合有Address字段,Address字段有省、市、縣三個字段。建模如下:

QQ截圖20120725190049

 

 

QQ截圖20120725185306

一對多關系:一篇文章有多條評論,為1對多關系

QQ截圖20120725185727QQ截圖20120725190617

由于MongoDB對單個文檔(document)有大小限制16M(高于v1.8),設計時也要將這個限制納入考慮中。

多對多關系:學生和課程是多對多的關系,一個學生可以選多門課程,一門課程有多名學生參與。

QQ截圖20120725190110

多對多使用了連接(Linking),連接是通過引用(References)來連接兩個集合。MongoDB References有兩種:一種是 手動引用(Manual References),另一種是DBRefs。

Manual References:

QQ截圖20120725192451(user集合)

QQ截圖20120725192634(post集合)

紅框地方就是Manual References,如果想查詢一篇文章的作者信息,首先在post集合找出那篇文章,然后在user集合查找出用戶的全部信息。但是假如有這么一個場景:用戶可以對圖片,文章等各種資源評論,所有的評論都放在comment集合中,如果只是使用Manual References,就分不清楚評論到底是屬于哪類資源了,圖片?文章?。所以有了DBRef。

DBRef的形式:

{ $ref : <value>, $id : <value>, $db : <value> }

$ref:集合名稱;$id:引用的id;$db:數據庫名稱,可選參數。

可以看到DBRef的結構比Manual References的復雜,占用的空間大,但是功能也強大,如果要跨數據庫連接,上面講的評論集合的例子,都得需要使用DBRef,MongoDB提供了函數來解析DBRef,不用像Manual References需要自己手動寫兩次查詢。

QQ截圖20120725195916

關于MongoDB的數據建模MongoDB官網也給出了一些建議。這些建議都是提供了一些參考,實際建模需要根據具體的需求來分析,分析數據經常會執行哪些操作(排序,查找,修改)來選擇Embed和Link。

原文鏈接:http://www.cnblogs.com/alab/archive/2012/07/25/2608905.html

【編輯推薦】

  1. MongoDB 2.0 正式版發布
  2. MongoDB 2.0新功能逐個看之Compact Command
  3. 主流NoSQL數據庫全方位評測之MongoDB
  4. 教你如何利用MySQL學習MongoDB
  5. 在Windows環境下MongoDB搭建和簡單操作

責任編輯:彭凡 來源: 博客園
相關推薦

2017-02-05 14:59:18

MongoDB數據建模數據庫

2020-10-10 06:53:18

數據建模數據庫

2024-01-10 08:22:38

物聯網數據分析建模人工智能

2017-05-05 10:00:51

MongoDB查詢數據

2014-01-06 10:44:17

Angular數據

2023-08-24 09:44:16

數據庫性能

2010-06-30 13:17:12

UML業務建模

2012-05-15 10:28:29

NoSQL數據庫建模技術

2011-09-14 15:30:00

MongoDB

2010-06-30 14:46:49

UML類圖

2022-09-06 08:00:00

機器學習金融數據科學

2022-03-01 17:16:16

數倉建模ID Mapping

2010-07-01 17:05:34

UML包圖

2012-05-15 11:03:22

NoSQL數據建模

2016-05-10 10:43:02

2025-04-22 07:52:59

2022-03-15 10:00:00

美團數據治理

2011-05-23 13:30:00

MySQLMongoDB

2011-06-14 09:09:13

NoSQLMongoDB

2011-10-13 10:18:50

設計數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久久久久久 | 91精品国产综合久久久亚洲 | 涩涩导航 | 久久久.com | 精品中文在线 | 视频一区二区在线观看 | 欧美性网站 | 久久最新网址 | 欧美成人一区二区三区片免费 | 亚洲精品一级 | 日韩视频91 | 国产精品久久久久久久久久免费看 | 黄色毛片免费看 | 激情av免费看 | 免费网站在线 | 欧美日韩在线视频观看 | 欧美国产精品 | 综合网视频 | 波多野结衣在线观看一区二区三区 | 亚洲国产网址 | 综合久久99| 国产一区二区三区久久久久久久久 | 国产三级一区二区三区 | 人人干人人艹 | 手机av在线 | 久久99蜜桃综合影院免费观看 | 国产精品美女久久久久久免费 | 日韩一区精品 | 韩日有码| www日韩高清 | 欧美一区二区三区在线视频 | 成人亚洲 | 久精品久久 | 日干夜操 | 天天躁日日躁狠狠的躁天龙影院 | 国产精品日韩欧美一区二区三区 | 国产精品永久免费视频 | 一级黄色影片在线观看 | 亚洲 欧美 激情 另类 校园 | 国产欧美一区二区三区在线播放 | 久久久成人免费一区二区 |