十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決

創(chuàng)新互聯(lián)建站是一家專業(yè)提供黎川企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都做網(wǎng)站、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為黎川眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。
數(shù)據(jù)庫是用于存儲數(shù)據(jù)的物理容器,每個數(shù)據(jù)庫在文件系統(tǒng)中都有屬于自己的文件集。一臺 MongoDB 服務(wù)器中可以創(chuàng)建多個數(shù)據(jù)庫,并且每個數(shù)據(jù)庫都是獨立的,都有屬于自己的集合和權(quán)限,而且不同數(shù)據(jù)庫中的數(shù)據(jù)會放置在不同的文件中。
MongoDB 的默認數(shù)據(jù)庫為“test”,該數(shù)據(jù)庫存儲在 data 目錄中,您可以使用
show dbs 命令來查看所有的數(shù)據(jù)庫列表,如下所示:
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
注意:在使用show dbs 命令時,若數(shù)據(jù)庫中沒有存儲任何數(shù)據(jù),則不會在列表中顯示出來,也就是說只有非空數(shù)據(jù)庫才能通過 show dbs 命令查看。
集合就是一組 MongoDB 文檔的組合,類似于關(guān)系型數(shù)據(jù)庫(例如 MySQL)中的數(shù)據(jù)表。集合存在于數(shù)據(jù)庫中,且沒有固定的結(jié)構(gòu),您可以向集合中插入不同格式或類型的數(shù)據(jù)。
文檔是 MongoDB 中數(shù)據(jù)的基本單位,由 BSON 格式(一種計算機數(shù)據(jù)交換格式,類似于 JSON)的鍵/值對組成,類似于關(guān)系型數(shù)據(jù)庫中的一行行數(shù)據(jù),但要相對復(fù)雜一些。
文檔具有動態(tài)模式,所謂動態(tài)模式就是同一集合中的文檔不需要具有相同的字段,即使是相同的字段也可以是不同的類型,這與關(guān)系型數(shù)據(jù)庫有很大的區(qū)別,也是 MongoDB 最突出的特點之一。
下表列舉了關(guān)系型數(shù)據(jù)庫與 MongoDB 中的一些差異:
| 關(guān)系型數(shù)據(jù)庫 | MongoDB | 解釋說明 |
|---|---|---|
| database | database | 數(shù)據(jù)庫 |
| table | collection | 數(shù)據(jù)表/集合 |
| row | document | 數(shù)據(jù)行/文檔 |
| column | field | 字段/域 |
| index | index | 索引 |
| table joins | 表連接,MongoDB 中不支持 | |
| primary key | primary key | 主鍵,MongoDB 會自動將 _id 字段設(shè)置為主鍵 |
下面的示例中展示了一個簡單的文檔結(jié)構(gòu):
{
_id: ObjectId(601e288aaa203cc89f2d31a7),
title: 'MongoDB Concept',
description: 'MongoDB is no sql database',
by: '編程幫',
url: 'http://www.biancheng.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 是一個 12 字節(jié)的十六進制數(shù)字,可確保每個文檔的唯一性。您可以在插入文檔時提供 _id 的具體值,但如果您不提供,那么 MongoDB 將為每個文檔提供一個唯一的值。自動生成的 _id 中前 4 個字節(jié)是當(dāng)前的時間戳,之后的 3 個字節(jié)是機器 id,再之后 2 個字節(jié)是 MongoDB 服務(wù)器的進程 id,剩下的 3 個字節(jié)是簡單的隨機數(shù)。