【二】MongoDB入門

來源:互聯網
上載者:User

標籤:shel   效率   val   對比   alt   size   類型   關聯式資料庫   world   

下面是mongodb的一些基本概念:

  • 文檔是MongoDB中資料的基本單元,類似關聯式資料庫中的行。
  • 集合,是儲存文檔的容器,類似關聯式資料庫中的表。
  • MongoDB的單個執行個體容納多個資料庫,每個資料庫都有自己的集合和許可權。
  • 每一個文檔都有一個特殊的“_id”,它在文檔所處的集合中是唯一的。

為了易於理解,咱們把MongoDB中的概念與關聯式資料庫對比一下:

 一、文檔

文檔是mongodb的核心概念。多個索引值有序的放置在一起便是文檔。簡單的例子:

1   {"greeting":"Hello World","foo":15}   2   {"foo":15,"greeting":"Hello World"}3   {"foo":15}4   {"Foo":15}
5 {"Foo":"15"}
  • 鍵名:不能含有空格及特殊字元‘$‘和‘.‘,同時以底線開頭的鍵是保留的
  • 鍵名區分大小寫,如上述的3和4是不同的文檔
  • 文檔中鍵名不能重複
  • 文檔區別類型,如上述的4和5,值的類型不一樣所以屬於不同的文檔
  • 鍵的值不僅是字串還可以是其他類型

二、集合

集合就是一組文檔,如果說文檔如關聯式資料庫中的行,那麼集合就如同表。集合有如下特點:

1、無模式

集合是無模式的,這意味著集合裡可以儲存各種各樣的文檔。那麼是不是mongodb中只需要一個集合就可以了呢?答案是否,下面是一些理由:

  • 易於管理:如果各種各樣的文檔都放到一個集合中,那麼對於開發人員或管理員都是噩夢。
  • 提高效率:在一個集合中查不同類型的文檔,速度上肯定不如各個單獨類型的集合快。
  • 提高索引效率

2、命名

我們可以名字來標識集合,下面是一些約束:

  • 不可為空字串,如""
  • 不能含有空格
  • 不能以system.開頭,這是系統保留首碼
  • 不能含有特殊字元,如$

組織集合的一種常用慣例是按命名空間劃分子集合,比如開發一個部落格

三、資料庫

資料庫包括多個集合,一個執行個體中包括多個資料庫,一般一個應用對應一個資料庫。資料庫的命名規則:

  • 不能是Null 字元串
  • 不能包括空格等特殊字元
  • 應該全部小寫
  • 不能使用系統預留的,如admin,local,config

關於資料庫的相關操作:

#查看當前資料庫> dbtest#切換當前資料庫> use localswitched to db local> dblocal

 獲得協助:

> help    db.help()                    help on db methods    db.mycoll.help()             help on collection methods    sh.help()                    sharding helpers    rs.help()                    replica set helpers    help admin                   administrative help    help connect                 connecting to a db help    help keys                    key shortcuts    help misc                    misc things to know    help mr                      mapreduce    show dbs                     show database names    show collections             show collections in current database    show users                   show users in current database    show profile                 show most recent system.profile entries with time >= 1ms    show logs                    show the accessible logger names    show log [name]              prints out the last segment of log in memory, ‘global‘ is default    use <db_name>                set current database    db.foo.find()                list objects in collection foo    db.foo.find( { a : 1 } )     list objects in foo where a == 1    it                           result of the last line evaluated; use to further iterate    DBQuery.shellBatchSize = x   set default number of items to display on shell    exit                         quit the mongo 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.