mongoDB學習初步總結

來源:互聯網
上載者:User

標籤:

What?

  最受歡迎的非關係型資料庫之一。面向文檔的資料庫,在儲存乎資料方面與關係型資料庫有著本質的區別。

Why?  

  簡單易用
  對多變的業務需求,適應性強於SQL型DB
  效能
  複製
  索引
  分區
  豐富的查詢
  靈活的資料模型
  毫不遜色的速度
  海量資料下表現好
  對程式員友好,但是是DBA的噩夢,維護性不佳

構成

  相對於SQL資料庫 行-> 表 -> 資料庫 而言,mongoDB的組織圖是: document -> collection -> DataBase

  其中的document , collection ,近似對應了SQL型資料庫中 行 ,表 的概念。

Document
  •   { ‘name‘ : ‘tom‘ , ‘age‘: 21 , ‘email‘: ‘[email protected]‘ }
    上例則是一個 document 對象。document使用 key:value (類似於JSON格式)的形式來組織資料的,document中有以下注意:
  • 文檔對 多個 key:value 的順序敏感:例如:

        { ‘name‘ : ‘tom‘ , ‘age‘: 21 , ‘email‘: ‘[email protected]‘
        { ‘name‘ : ‘tom‘ ,  ‘email‘: ‘[email protected]‘,‘age‘: 21  }

    上面兩個文檔會被認為是兩個不同的文檔。

  • 系統會為每一個文檔添加一個名為_id 的鍵。這個鍵是系統對屬於同一個colletiondocument的唯一身份標識。
      _id的值是mongoDB 中的一種特殊的類型:ObjectID()
    除非你在文檔裡給出了並指定了這個屬性的值,否則mongoDB會在文檔存入資料庫的時候為其建立一個_id鍵。

  • key

    • key 不能重複
    • 文檔的 key 為 string 類型
    • 文檔對 key 的大小寫敏感
  • value
    • 文檔中 value 的值可以為多種類型
    • 值可以是一個文檔(內嵌文檔)
collection
    • 相當於關係型資料庫的 table
    • collection 是無模式的:也就是說,結構不同的 document 可以屬於同一個collection,而這在關係型資料庫是做不到的,正如你無法將結構不同的兩行 放到同一張表中。

    • ok,既然我們可以將不同結構的document放到同一個collection中 ,為什麼我們還需要多個collection呢?

    • 實際上,我們應該將同一種類型的document 放到一個collection中,但是這並不意味著我們對資料(document)的結構由強烈的要求,mongoDB可以讓我們更加靈活的管理資料。對文檔分類意味著產生多個collection 這樣也可以提高我們的訪問速度,降低伺服器的負擔;同時還能讓我們更好的組織和管理資料(mongoDB的DBA上輩子都是折翼的天使)。

    • mongoDB支援多種多樣的資料類型,其主要的是對JSON 類型的資料可擴充,總結如下:

      • null
      • bool
      • int32
      • int64
      • float64
      • string
      • 符號
      • ObjectId()
      • date
      • 表示為從紀元開始的毫秒數
      • Regex
      • javascript代碼
      • 位元據
      • 最大值(BSON)
      • 最小值(BSON)
      • undefined
      • array
      • cocument

      下一篇講 mongoDB 的shell的基本用法。待續···

mongoDB學習初步總結

相關文章

聯繫我們

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