當前位置:編程學習大全網 - 編程語言 - mongodb的基本概念

mongodb的基本概念

(1)文檔

文檔是 MongoDB 中數據的基本單位,類似於關系數據庫中的行(但是比行復雜)。多個鍵及其關聯的值有序地放在壹起就構成了文檔。不同的編程語言對文檔的表示方法不同,在JavaScript 中文檔表示為:

{“greeting”:“hello,world”}

這個文檔只有壹個鍵“greeting”,對應的值為“hello,world”。多數情況下,文檔比這個更復雜,它包含多個鍵/值對。例如:

{“greeting”:“hello,world”,“foo”: 3}

文檔中的鍵/值對是有序的,下面的文檔與上面的文檔是完全不同的兩個文檔。

{“foo”: 3 ,“greeting”:“hello,world”}

文檔中的值不僅可以是雙引號中的字符串,也可以是其他的數據類型,例如,整型、布爾型等,也可以是另外壹個文檔,即文檔可以嵌套。文檔中的鍵類型只能是字符串。

(2)集合

集合就是壹組文檔,類似於關系數據庫中的表。集合是無模式的,集合中的文檔可以是各式各樣的。例如,{“hello,word”:“Mike”}和{“foo”: 3},它們的鍵不同,值的類型也不同,但是它們可以存放在同壹個集合中,也就是不同模式的文檔都可以放在同壹個集合中。既然集合中可以存放任何類型的文檔,那麽為什麽還需要使用多個集合?這是因為所有文檔都放在同壹個集合中,無論對於開發者還是管理員,都很難對集合進行管理,而且這種情形下,對集合的查詢等操作效率都不高。所以在實際使用中,往往將文檔分類存放在不同的集合中,例如,對於網站的日誌記錄,可以根據日誌的級別進行存儲,Info級別日誌存放在Info 集合中,Debug 級別日誌存放在Debug 集合中,這樣既方便了管理,也提供了查詢性能。但是需要註意的是,這種對文檔進行劃分來分別存儲並不是MongoDB 的強制要求,用戶可以靈活選擇。

可以使用“.”按照命名空間將集合劃分為子集合。例如,對於壹個博客系統,可能包括blog.user 和blog.article 兩個子集合,這樣劃分只是讓組織結構更好壹些,blog 集合和blog.user、blog.article 沒有任何關系。雖然子集合沒有任何特殊的地方,但是使用子集合組織數據結構清晰,這也是MongoDB 推薦的方法。

(3)數據庫

MongoDB 中多個文檔組成集合,多個集合組成數據庫。壹個MongoDB 實例可以承載多個數據庫。它們之間可以看作相互獨立,每個數據庫都有獨立的權限控制。在磁盤上,不同的數據庫存放在不同的文件中。MongoDB 中存在以下系統數據庫。

● Admin 數據庫:壹個權限數據庫,如果創建用戶的時候將該用戶添加到admin 數據庫中,那麽該用戶就自動繼承了所有數據庫的權限。

● Local 數據庫:這個數據庫永遠不會被負責,可以用來存儲本地單臺服務器的任意集合。

● Config 數據庫:當MongoDB 使用分片模式時,config 數據庫在內部使用,用於保存分片的信息。

  • 上一篇:平遙規劃
  • 下一篇:家政接單app平臺十大排名
  • copyright 2024編程學習大全網