鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ 概述
更新文檔
GridFS
Rockmongo 管理工具
Map Reduce
Java
創(chuàng)建備份
數(shù)據(jù)模型
創(chuàng)建數(shù)據(jù)庫(kù)
映射
查詢文檔
索引限制
ObjectId
刪除文檔
數(shù)據(jù)類型
高級(jí)索引
索引
優(yōu)勢(shì)
記錄排序
查詢分析
插入文檔
刪除集合
全文檢索
創(chuàng)建集合
概述
數(shù)據(jù)庫(kù)引用
覆蓋索引查詢
安裝環(huán)境
PHP
刪除數(shù)據(jù)庫(kù)
固定集合
關(guān)系
聚合
自動(dòng)增長(zhǎng)
復(fù)制
限制記錄
部署
分片
正則表達(dá)式
原子操作

概述

MongoDB 是一款跨平臺(tái)、面向文檔的數(shù)據(jù)庫(kù)。用它創(chuàng)建的數(shù)據(jù)庫(kù)可以實(shí)現(xiàn)高性能、高可用性,并且能夠輕松擴(kuò)展。MongoDB 的運(yùn)行方式主要基于兩個(gè)概念:集合(collection)與文檔(document)。

數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)是集合的實(shí)際容器。每一數(shù)據(jù)庫(kù)都在文件系統(tǒng)中有自己的一組文件。一個(gè) MongoDB 服務(wù)器通常有多個(gè)數(shù)據(jù)庫(kù)。

集合

集合就是一組 MongoDB 文檔。它相當(dāng)于關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)中的表這種概念。集合位于單獨(dú)的一個(gè)數(shù)據(jù)庫(kù)中。集合不能執(zhí)行模式(schema)。一個(gè)集合內(nèi)的多個(gè)文檔可以有多個(gè)不同的字段。一般來(lái)說(shuō),集合中的文檔都有著相同或相關(guān)的目的。

文檔

文檔就是一組鍵-值對(duì)。文檔有著動(dòng)態(tài)的模式,這意味著同一集合內(nèi)的文檔不需要具有同樣的字段或結(jié)構(gòu)。

下表展示了關(guān)系型數(shù)據(jù)庫(kù)與 MongoDB 在術(shù)語(yǔ)上的對(duì)比:

關(guān)系型數(shù)據(jù)庫(kù) MongoDB
數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)
集合
文檔
字段
表 Join 內(nèi)嵌文檔
主鍵 主鍵(由 MongoDB 提供的默認(rèn) key_id)
數(shù)據(jù)庫(kù)服務(wù)器 客戶端
MySQL/Oracle MongoDB
mysql/sqlplus mongo

范例文檔

下面這個(gè)范例展示了一個(gè)簡(jiǎn)單的博客站點(diǎn)的文檔結(jié)構(gòu),它是由逗號(hào)分隔的鍵值對(duì)構(gòu)成的。

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.tutorialspoint.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100, 
   comments: [  
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2011,1,20,2,15),
         like: 0 
      },
      {
         user:'user2',
         message: 'My second comments',
         dateCreated: new Date(2011,1,25,7,45),
         like: 5
      }
   ]
}     

_id 是一個(gè) 12 字節(jié)長(zhǎng)的十六進(jìn)制數(shù),它保證了每一個(gè)文檔的唯一性。在插入文檔時(shí),需要提供 _id。如果你不提供,那么 MongoDB 就會(huì)為每一文檔提供一個(gè)唯一的 id。_id 的頭 4 個(gè)字節(jié)代表的是當(dāng)前的時(shí)間戳,接著的后 3 個(gè)字節(jié)表示的是機(jī)器 id 號(hào),接著的 2 個(gè)字節(jié)表示 MongoDB 服務(wù)器進(jìn)程 id,最后的 3 個(gè)字節(jié)代表遞增值。

上一篇:查詢分析下一篇:固定集合