掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流

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

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流