MongoDB學習筆記二 基本概念

來源:互聯網
上載者:User

MongoDB是面向集合的文檔式資料庫,不像關聯式資料庫那樣,有表,列、行,mongoDB資料庫則是由一系列的文檔組成。以下介紹MongoDB的基本概念

 

一、   文檔

文檔是mongoDB資料庫的最小集合單位,其基本概念為:由多個鍵及其關聯的值有序組合在一起的集合單元。

如{“One”:”Hello World”,”Two”:”Hello,MongoDB”}

從概念可以分析得,由多個鍵。即可說明文檔的組成類似於hash表,每個鍵對應一個記錄值,事實上,可以將文檔看成關聯式資料庫中的行,每個索引值組合可以看成是這個行中對應的列,鍵表示列的名稱,值則為表列值。

文檔定義有如下要求:

1、鍵不能含有\O(Null 字元),在mongoDB中,這個字元用來表示的結尾

2、.和$e 有特別含義,在特定環境中使用,使用這兩個字元時。需考慮清楚。

3、以底線“_”也是系統保留字元。使用時需要考慮清楚

4、鍵是區分大小寫,如{“One”:”Hello”,”one’:”hello”},則表示不同的鍵

5、在同一個文檔中,不能有相同名稱的鍵。即大小寫都相同的鍵,如下面的文檔是非法的:

{“one”:”hello”,”one”:”helloworld”}

6、文檔中的索引值的類型可以不一樣的,如:

{“one”:1,”two”:”helloworld”,”three”:0.21}

 

 

二、            集合

集合即是一組文檔,如果說文檔類似於行的話。則集合則相當於表。

 

在mongoDB中,集合是無模式的,即一個集合中的文檔可以各式各樣的,在集合中,不同的文檔的索引值數目可以不一樣,其中的鍵也可以不一樣。不同文檔同一個鍵,其值可以不一樣,類型也可不一樣。也即在同一個集合中,文檔是相互獨立的。

由於集合沒有模式,而在實際使用中,可能會造成困擾,因為既然沒有什麼模式,集合的文檔可以是任意的,那麼就沒必要要多個集合了。比如,我們建立一個部落格資料庫,在一個集合中可以儲存部落格文章、文章類別、登入使用者等資料。當然,在實際運用中,怎麼運還得看情況而定。

集合命令的規範:

1、 集合名不是能是Null 字元串;

2、 集合名不能含有\O字元(Null 字元),mongodb中此字元表示集合名的結尾;

3、 集合名不能以”system.”開頭,因為此首碼是系統本身保留的首碼,如system.uses,表示系統使用者資訊,system.namespaces儲存所有資料庫集合的資訊;

4、 集合名稱不能有$字元。

 

 

三、            子集合

子集合可以看成是一個命名,如blog.users,blog.author,在這裡,blog本身可以不是集合,還可以不存在。使用子集合是為了更好更有條理的區分集合

四、            資料庫

   多個集合組成資料庫。一個MongoDB執行個體中可以有多個資料庫,每個資料庫都是完全獨立的,有自己的使用者,許可權資訊,即便在磁碟上,其儲存的檔案也是分開的,這和SQL server之類的資料庫一樣。不同資料庫其資料庫檔案可以存放在不同的目錄。資料庫命名規則如下:

1、 不能是Null 字元串;

2、 不得含有’’(空格)、,、$、/、\、和\O(Null 字元);

3、 應全部小寫

4、 最多64個位元組。

 

 

除外,資料庫名不能與現有系統保留庫同名,如admin,local,及config

 

 

資料庫命名空間:資料庫命名空間,是把資料庫名稱放在集合前面所得到的所有字串資訊。即為命名空間。如blog.article.author。命令空間的長度在實際運用中不能超過100個字元。

 

 

中文問題。當集合或文檔中使用中文時,出現問題:

Malformed UTF-8 character sequence at offset 33


查了好多資訊發現,暫時沒有解決。得使用第三方的API來解決。鬱悶。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.