MongoDB簡介

1、什麼是MongoDBphp

  MongoDB是由C++編寫的,是一個基於分佈式文件存儲的開源數據庫系統python

  在高負載的狀況下,添加更多的節點,能夠保證服務器的性能mysql

  MongoDB爲web應用提供可擴展的高性能數據存儲解決方案c++

2、MongoDB特色 web

  一、MongoDB提供了一個面向文檔存儲,基本思路是將原來的「行」的概念換成了更加領過的「文檔」模型,一條記錄能夠表示很是複雜的層次關係
  二、MongoDB支持豐富的查詢表達式,查詢指令是json形式的標記,能夠輕易查詢文檔中嵌套的對象和列表
  三、很是容易擴展,擴展集羣后還能夠實現集羣中的數據的負載均衡。
  四、MongoDB支持各類編程語言,好比python、Java、c++、c、php、c#、ruby、JavaScript等
  五、豐富的功能,包括索引、存儲JavaScript、聚合、固定集合、文件存儲等功能
  六、方便管理,處理啓動數據庫服務之外,記過沒有其餘什麼必要的操做。管理集羣只須要知道有哪一個新增的節點便可,自動繼承和配置新節點sql

3、MongoDB概念數據庫

  在MongoDB中的基本概念是文檔、集合、數據庫編程

  數據庫:json

    *  一個MongoDB能夠創建多個數據庫c#

    *  MongoDB的默認數據庫是‘db’,該數據庫在data目錄

    *  MongoDB的單個實例能夠容納多個獨立數據庫,每個數據庫都有本身集合和權限,不一樣數據庫放在不一樣的文件中

    數據庫命名規則:

    數據庫名能夠是能夠知足如下條件的任意UTF-8字符串

      -  不能是空字符串(「」)

      -  不得含有‘ ’(空格)、$、/、\和\0.

      -  應該所有小寫

      -  最多64字節

    有一些數據庫名是保留的,能夠直接訪問這些有特殊做用的數據庫。

      admin:從權限的角度看,這個是'root'數據庫。要是將一個用戶添加到這個數據庫,這個用戶自動繼承全部的數據庫的權限。一些特定的服務器命令也只能從這個數據庫運行,好比列出全部的數據庫或者關閉數據庫。

      local:這個數據永遠不會被複制,能夠用來存儲限於本地單臺服務器的任意集合

      config:當MongoDB用於分片設置時,config數據庫在內部使用,用於存儲分片的相關信息。

  文檔:

    文檔至關於Mysql的數據行。文檔是一組鍵值對(BSON)。MongoDB的文檔不須要設置相同的字段,而且相同字段不須要相同的數據類型

    例如:{"name":"月光男神", "age":"18"}

    注意:

      一、文檔中的鍵值對是有序的

      二、文檔中的值不只能夠是在雙引號的字符串,還能夠是其餘數據類型

      三、MongoDB區分類型和大小寫

      四、MongoDB的文檔不能有重複的鍵

      五、文檔的鍵是字符串,除了少數例外狀況,鍵可使用任意UTF-8字符

    文檔鍵命名規範:

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

      二、.和$有特別的意義,只有在特定環境下才能使用

      三、以"_"開頭的鍵是保留的

  集合

    集合至關於mysql中的表,集合存在於數據庫中,集合沒有固定結構,能夠插入不一樣類型和格式的數據。

    集合命名規範:

      集合名不能是空字符串。

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

      集合名不能以「system」開頭,這是爲系統集合保留的前綴

      用戶建立的集合的名字不能含有保留字符。千萬不要出現$。

相關文章
相關標籤/搜索