MongoDB 學習手冊

來源:互聯網
上載者:User

文檔在地址:http://download.csdn.net/detail/wyqlxy/3999890

MongoDB是文檔型資料庫,不是關係型資料庫。基本思路是 將原來的“行” 的概念換成更加靈活的 “文檔“模型。面向文檔的方式可以將文檔或者數組內嵌進來,所以用一條記錄就可以表達複雜的方式。一般作為網路伺服器。

MongoDB沒有模式:文檔的鍵不會事先定義,也不會固定不變。

MongoDB比較容易擴充。需要擴充的時候,只需在叢集中增加機器即可,然後讓資料庫來做剩下的事情。

MongoDB擁有一套獨特的,好用的工具:

1,索引。通過輔助索引,可以更快的進行查詢。也提供唯一的,複合的和地理空間索引能力。

2,儲存JavaScript。可以直接在服務端儲存函數和值。

3,彙總。 支援MapReduce工具和其他彙總工具。

4,固定集合。集合的大小是有上限的。

5,檔案儲存體。支援一種容易使用的協議儲存大型檔案和檔案的中繼資料。

但是也有缺點:比如 聯合的 join 和複雜的多行事務。

儘管MongoDB功能很強大,但是並不具備關係型資料庫的功能。它儘可能將服務端的邏輯交給用戶端(由驅動程式或使用者的應用程式處理),這樣可以使得MongoDB擁有量良好的效能。

 MongoDB啟動後,幾乎沒有什麼必要的操作,如果主伺服器掛掉了,會自動切換到備份伺服器上。並且將備份伺服器升為活躍伺服器。

 文檔時MongoDB的核心。多個鍵以及關聯的值有序的放置在一起就是文檔。文檔中的值不僅是字串,還有其他的類型。

注意:值不能包含\0.因為這個字元是用來表示鍵的結尾的。2. 點.和$最好不要使用3 ,同樣_最好也不要。系統的預設的一些鍵比如:_index就是用這個開頭的。

MongoDB不但區分類型,也區分大小寫。文檔中不允許有重複的鍵。

集合就是一組文檔。如果說mongodb中的文檔類似關係型資料庫中的行,那個集合就是一張表。集合是無模式的,這就意味著集合裡的文件類型也是各式各樣的。

如: {“firest”: "hello" } {"seconde": 5 }.他們的類型不同,鍵也不同。集合包含子集合。一般用. 表示。比如: blog.content 和blog.authors。

 

MongoDB內建一個Javascript Shell,可以從命令列與mongodb進行互動。通過它可以執行管理操作,檢查運行執行個體。這個工具很重要。shell是標準的javascript解譯器。shell在啟動時會自動連接MongoDB伺服器,所以在確保首先啟動伺服器,然後在運行shell。它是一個獨立的MongoDB用戶端。SHELL還有一些非javascript的文法擴充。是為了方便習慣sql shell 的使用者。

1,建立

首先建立一個局部變數和相關內容。post ={"title":"my blog" ,"content":"here is my blog","date": new date()}

插入資料: db.blog.indert(post). 在記錄被儲存後,會自動多出一列“_id"。

2,讀取

find會返回集合中所有的文檔。若只想看一個,可也用findone: db.blog.findone(). 這兩者都可以接受查詢的限制條件。

3,更新

update.  他接受至少兩個參數。 例如:修改post變數,增加"comments“鍵

第一步:post.comments=[]

然後執行update操作。db.blog.update({title:"my blog",post}).用新版本的文檔,替換標題為my blog文檔。

4,刪除

remove. 它可以接受參數。永久刪除資料。db.blog.remove({"title":"my blog"}).如果不加參數,則刪除集合內所有文檔。

如果查看資料庫級的協助,可以用db.help(). 有個瞭解函數的技巧,就是輸入的時候不要輸入括弧,這樣就能看到該函數的javascript函數實現方式。

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.