天天看點

MongoDB 教程(四):MongoDB 概念解析

概述:

  不管我們學習什麼資料庫都應該學習其中的基礎概念,在mongodb中基本的概念是文檔、集合、資料庫,下面我們挨個介紹。

  下表将幫助您更容易了解Mongo中的一些概念:

    

MongoDB 教程(四):MongoDB 概念解析

資料庫

  先運作資料庫 C:\Program Files\MongoDB\Server\4.0\bin>mongo.exe

  

MongoDB 教程(四):MongoDB 概念解析

   注:資料庫名稱應全部小寫,最多64位元組。

  有一些資料庫名是保留的,可以直接通路這些有特殊作用的資料庫。

admin: 從權限的角度來看,這是"root"資料庫。要是将一個使用者添加到這個資料庫,這個使用者自動繼承所有資料庫的權限。一些特定的伺服器端指令也隻能從這個資料庫運作,比如列出所有的資料庫或者關閉伺服器。

local: 這個資料永遠不會被複制,可以用來存儲限于本地單台伺服器的任意集合

config: 當Mongo用于分片設定時,config資料庫在内部使用,用于儲存分片的相關資訊。

文檔(類似于資料行)

  文檔是一組鍵值(key-value)對(即BSON)。

  MongoDB 的文檔不需要設定相同的字段,并且相同的字段不需要相同的資料類型,這與關系型資料庫有很大的差別,也是 MongoDB 非常突出的特點。

MongoDB 教程(四):MongoDB 概念解析

  需要注意的是:

文檔中的鍵/值對是有序的。

文檔中的值不僅可以是在雙引号裡面的字元串,還可以是其他幾種資料類型(甚至可以是整個嵌入的文檔)。

MongoDB區分類型和大小寫。

MongoDB的文檔不能有重複的鍵。

文檔的鍵是字元串。除了少數例外情況,鍵可以使用任意UTF-8字元。

  文檔鍵命名規範:

鍵不能含有\0 (空字元)。這個字元用來表示鍵的結尾。

.和$有特别的意義,隻有在特定環境下才能使用。

以下劃線"_"開頭的鍵是保留的(不是嚴格要求的)。

集合(類似于資料庫表)

  集合就是 MongoDB 文檔組,類似于 RDBMS (關系資料庫管理系統:Relational Database Management System)中的表格。

  集合存在于資料庫中,集合沒有固定的結構,這意味着你在對集合可以插入不同格式和類型的資料,但通常情況下我們插入集合的資料都會有一定的關聯性。

當第一個文檔插入時,集合就會被建立。

集合名不能是空字元串""。

集合名不能含有\0字元(空字元),這個字元表示集合名的結尾。

集合名不能以"system."開頭,這是為系統集合保留的字首。

使用者建立的集合名字不能含有保留字元。有些驅動程式的确支援在集合名裡面包含,這是因為某些系統生成的集合中包含該字元。除非你要通路這種系統建立的集合,否則千萬不要在名字裡出現$。 

  如下執行個體:

  Capped collections 就是固定大小的collection。

  它有很高的性能以及隊列過期的特性(過期按照插入的順序). 有點和 "RRD" 概念類似。

  Capped collections是高性能自動的維護對象的插入順序。它非常适合類似記錄日志的功能。

  和标準的collection不同,你必須要顯式的建立一個capped collection, 指定一個collection的大小,機關是位元組。collection的資料存儲空間值是提前配置設定的。

  要注意的是指定的存儲大小包含了資料庫的頭資訊。

在capped collection中,你能添加新的對象。

能進行更新,然而,對象不會增加存儲空間。如果增加,更新就會失敗 。

資料庫不允許進行删除。使用drop()方法删除collection所有的行。

注意: 删除之後,你必須顯式的重新建立這個collection。

在32bit機器中,capped collection最大存儲為1e9( 1X109)個位元組。

MongoDB 資料類型

  ……