亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

MongoDB 簡介

MongoDB是一個跨平臺的,面向文檔的數(shù)據(jù)庫,可提供高性能,高可用性和易擴展性。MongoDB致力于收集和文檔的概念。

什么是MongoDB

MongoDB是一個數(shù)據(jù)庫程序,MongoDB用C ++語言編寫。

  • 免費 – 您無需為在應用程序中使用它而付出任何代價。

  • 開源 – 開源是開放的,開源社區(qū)為MongoDB數(shù)據(jù)庫程序的開發(fā)做出了貢獻。

  • 跨平臺 –  MongoDB構(gòu)建在一個平臺(例如Linux)上,并且可以在其他平臺(Windows,MacOS等)上運行,而無需對代碼進行任何修改。

  • 面向文檔 –  MongoDB以JSON形式存儲記錄(如文檔)。這樣做有很多優(yōu)點。一個顯著的優(yōu)點是,向數(shù)據(jù)庫添加新功能(關(guān)系數(shù)據(jù)庫中的列)不需要麻煩。

  • NoSQL(不僅是SQL) –  MongoDB使用基于文檔的數(shù)據(jù)庫,其中每個文檔都是具有復雜值的鍵。該文檔值可以包含多個鍵值對。

數(shù)據(jù)庫

數(shù)據(jù)庫是用于收集的物理容器。每個數(shù)據(jù)庫在文件系統(tǒng)上都有其自己的文件集。一臺MongoDB服務器通常具有多個數(shù)據(jù)庫。

集合

集合是一組MongoDB文檔。它等效于RDBMS表。集合存在于單個數(shù)據(jù)庫中。集合不強制執(zhí)行架構(gòu)。集合中的文檔可以具有不同的字段。通常,集合中的所有文檔都具有相似或相關(guān)的目的。

文檔

文檔是一組鍵值對。文檔具有動態(tài)架構(gòu)。動態(tài)模式意味著同一集合中的文檔不需要具有相同的字段或結(jié)構(gòu)集,并且集合文檔中的公共字段可以保存不同類型的數(shù)據(jù)。

下表顯示了RDBMS術(shù)語與MongoDB的關(guān)系。

關(guān)系數(shù)據(jù)庫管理系統(tǒng)MongoDB
數(shù)據(jù)庫數(shù)據(jù)庫
集合

元組/行

文檔
字段
表聯(lián)結(jié)嵌入式文檔
主鍵約束主鍵(MongoDB本身提供的默認鍵_id)
數(shù)據(jù)庫服務器和客戶端
mysqld / Oraclemongod
mysql / sqlplusmongo

示例文檔

以下示例顯示了博客站點的文檔結(jié)構(gòu),它只是一個逗號分隔的鍵值對。

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: '基礎(chǔ)教程',
   url: '',
   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是一個12字節(jié)的十六進制數(shù)字,它保證了每個文檔的唯一性。您可以在插入文檔時提供id。如果不提供,那么MongoDB會為每個文檔提供一個惟一的id。這12個字節(jié)的前4個字節(jié)用于當前時間戳,接下來的3個字節(jié)用于機器id,接下來的2個字節(jié)用于MongoDB服務器的進程id,剩下的3個字節(jié)是簡單的增量值。