MongoDB 作為一種檔案導向的 NoSQL 資料函式庫,以其彈性的 Schema 設計和豐富的查詢語言受到廣泛應用。不同於傳統關聯式資料函式庫,MongoDB 使用集合和檔案來組織資料,更適合處理非結構化或半結構化資料。理解 MongoDB 的核心概念和基本術語,例如集合、檔案和資料函式庫,對於有效運用 MongoDB 至關重要。此外,選擇合適的 MongoDB 版本,例如 Community Edition 或 Enterprise Advanced Edition,也需要根據專案需求和預算進行評估。本文將引導讀者完成在 Windows 和 Linux(Ubuntu)系統上安裝和設定 MongoDB 的完整流程,並提供安裝後的檢查和連線測試方法,確保 MongoDB 能夠正常運作。
MongoDB基礎與NoSQL概念解析
MongoDB是一種NoSQL資料函式庫,其檔案(documents)類別似於JSON物件,可以包含陣列、其他檔案或檔案陣列。這些檔案被儲存在集合(collections)中,相當於關聯式資料函式庫中的表格。
MongoDB的特點
- 檔案導向:MongoDB的檔案可以包含多樣化的資料結構,如陣列和巢狀檔案。
- 豐富的查詢語言:支援CRUD(建立、讀取、更新、刪除)操作,以及資料聚合、搜尋和地理空間查詢。
- 多儲存引擎支援:如WiredTiger儲存引擎和記憶體儲存引擎,並提供可插拔的儲存引擎API供第三方開發。
MongoDB基本術語
- MongoDB資料函式庫:單一MongoDB伺服器包含多個資料函式庫,每個資料函式庫是集合的實體容器。
- MongoDB集合:類別似於SQL資料函式庫的表格,存在於單一資料函式庫內,包含一組MongoDB檔案。
- MongoDB檔案:集合中的例項,由鍵值對組成,具有動態結構,不需要在同一集合中的檔案具有相同的欄位和結構。
與SQL資料函式庫術語的比較
| SQL術語/概念 | MongoDB術語/概念 |
|---|---|
| 資料函式庫 | 資料函式庫 |
| 表格 | 集合 |
| 列 | 欄位 |
| 索引 | 索引 |
| 表格連線 | 嵌入式檔案 |
| 主鍵 | 主鍵(預設為_id欄位) |
MongoDB在Windows上的安裝設定
本章節將介紹在Windows機器上安裝和設定MongoDB的步驟,包括安裝後的檢查和MongoDB版本的概覽。
MongoDB版本概覽
MongoDB提供兩個版本:
- Community Edition:開源且免費。
- Enterprise Advanced Edition:付費版本,提供更多進階功能。
MongoDB Community Edition授權
- 2018年10月16日後發布的版本採用伺服器端公共授權(Server Side Public License)。
- 之前版本採用GNU AGPL v3.0授權。
MongoDB Enterprise Advanced Edition特點
- 提供主動支援、更好的管理和安全性功能,如角色型存取控制(Role-Based Access Controls)和客戶端欄位級加密(Client-Side Field Level Encryption)。
- 支援Kubernetes整合和記憶體儲存引擎,提供更好的效能和安全性。
安裝和設定MongoDB於Windows
- 下載MongoDB:從官方網站下載適合Windows的MongoDB版本。
- 安裝MongoDB:執行下載的安裝檔案,並按照提示完成安裝。
- 檢查安裝:驗證MongoDB是否正確安裝在Windows系統上。
- 連線至MongoDB:學習如何連線至MongoDB,並進行安裝後的驗證檢查。
透過本章節,您將瞭解不同版本的MongoDB,並學會如何在Windows機器上安裝和設定MongoDB,以及如何驗證安裝是否正確。
MongoDB Community Edition 與 Enterprise Advanced Edition 功能比較
MongoDB 提供兩種主要版本:Community Edition 和 Enterprise Advanced Edition。兩者之間的主要差異在於支援的功能和安全性。以下比較這兩個版本的主要功能差異。
驗證與授權功能
- LDAP 驗證:僅 Enterprise Advanced Edition 支援。
- LDAP 授權:僅 Enterprise Advanced Edition 支援。
- Kerberos:僅 Enterprise Advanced Edition 支援。
- X509 驗證:兩者皆支援。
儲存引擎
- WiredTiger 引擎:兩者皆支援。
- WiredTiger 加密:僅 Enterprise Advanced Edition 支援。
- In-Memory 引擎:僅 Enterprise Advanced Edition 支援。
主要功能比較
| 功能 | MongoDB Community Edition | MongoDB Enterprise Advanced Edition |
|---|---|---|
| 多檔案 ACID 交易 | 支援 | 支援 |
| 分片區域 | 支援 | 支援 |
| 更快的初始同步 | 支援 | 支援 |
| 自動平衡 | 支援 | 支援 |
| 可調一致性 | 支援 | 支援 |
| x64 和 ARM 支援 | 支援 | 支援 |
| 檢視 | 支援 | 支援 |
| mongoreplay 工具 | 支援 | 支援 |
| 校對 | 支援 | 支援 |
| 十進位制型別 | 支援 | 支援 |
在 Windows 上安裝 MongoDB Community Edition
以下是在 Windows 上安裝 MongoDB Community Edition 的步驟。
下載 MongoDB Community Edition
- 開啟 MongoDB 官方網站(https://www.mongodb.com/)。
- 點選頂部導覽列的「Software」連結,然後選擇「Community Server」。
- 在下載頁面中,選擇適合的版本進行下載。
安裝 MongoDB Community Edition
- 開啟下載的 MSI 安裝檔案。
- 安裝精靈將引導您完成安裝過程。
- 同意授權協定後,選擇「Complete」安裝型別以使用預設設定進行安裝。
- 安裝完成後,您將看到一些與 MongoDB 服務相關的選項。
重點解析
MongoDB Community Edition 和 Enterprise Advanced Edition 之間的主要差異在於安全性和某些進階功能。Community Edition 提供基本的資料函式庫功能,而 Enterprise Advanced Edition 提供額外的安全功能,如 LDAP 和 Kerberos 驗證,以及進階的儲存引擎選項。
為何選擇 Enterprise Advanced Edition?
如果您的應用程式需要高階別的安全性和進階功能,如 LDAP 和 Kerberos 驗證,或是需要使用 In-Memory 儲存引擎,那麼 Enterprise Advanced Edition 是更好的選擇。
為何選擇 Community Edition?
對於大多數開發和測試環境,Community Edition 提供足夠的功能和效能,且免費使用。
在 Windows 上安裝 MongoDB 的完整
步驟 1:下載並啟動 MongoDB 安裝程式
首先,您需要從 MongoDB 官方網站下載適用於 Windows 的 MongoDB Community Server。下載完成後,執行 .msi 安裝檔案以啟動安裝精靈。
步驟 2:遵循 MongoDB 安裝精靈的指示
選擇安裝型別:在安裝過程中,您將看到多個選項。選擇「Complete」安裝以安裝所有元件。
資料和日誌目錄路徑:您可以更改資料和日誌檔案的儲存位置。在我們的範例中,我們將保留預設設定。
服務組態設定:在接下來的畫面中,您將看到與 MongoDB Compass 安裝相關的選項。為了本章的教學目的,我們將取消勾選此選項,因為我們將在後續章節中介紹 MongoDB Compass。
開始安裝:點選「Install」按鈕以開始安裝。安裝程式將複製檔案並在您的 Windows 機器上組態 MongoDB。
完成安裝:安裝完成後,您將看到「Finish」按鈕。點選此按鈕以完成安裝程式。
重新啟動系統:在某些情況下,安裝程式可能會提示您重新啟動電腦以完成安裝。對於 Windows 10 和 MongoDB 4.4,您可能不會收到此提示。
步驟 3:安裝後檢查
為了驗證 MongoDB 是否已正確安裝,請遵循以下步驟:
開啟 Windows 控制台並導航至「程式」。
點選「程式和功能」以檢視已安裝程式的清單。如果 MongoDB 已成功安裝,您應該能夠在此清單中看到它。
步驟 4:連線到 MongoDB
開啟命令視窗並導航至 MongoDB 的
bin目錄,通常位於C:\Program Files\MongoDB\Server\4.4\bin。輸入
mongo命令並按下 Enter 鍵以開啟 Mongo Shell。在 Mongo Shell 中,您可以執行各種 MongoDB 命令,如
show databases以檢視現有的資料函式庫。輸入
exit命令並按下 Enter 鍵以離開 Mongo Shell。
連線 MongoDB 的程式碼範例
# 導航至 MongoDB 的 bin 目錄
cd C:\Program Files\MongoDB\Server\4.4\bin
# 開啟 Mongo Shell
mongo
# 檢視現有的資料函式庫
show databases
# 離開 Mongo Shell
exit
內容解密:
cd C:\Program Files\MongoDB\Server\4.4\bin:這行命令用於導航至 MongoDB 的bin目錄。這是必要的,因為mongo命令位於此目錄中。mongo:此命令用於啟動 Mongo Shell,使您能夠與 MongoDB 資料函式庫互動。show databases:此命令用於顯示目前 MongoDB 例項中的所有資料函式庫。exit:輸入此命令以離開 Mongo Shell,傳回到命令列介面。
問題與討論
什麼是 MSI 檔案?
- MSI 檔案是 Windows Installer 的檔案格式,用於安裝和組態軟體應用程式。
您應該從哪個來源下載 MongoDB 安裝檔案?
- 您應該從 MongoDB Inc. 的官方網站下載 MongoDB 安裝檔案。
MongoDB 伺服器有哪些版本?
- MongoDB 提供 Community Server 和 Enterprise Server 兩個主要版本。
如何登入到 MongoDB Shell?請說明過程。
- 首先,開啟命令視窗並導航至 MongoDB 的
bin目錄。然後,輸入mongo命令並按下 Enter 鍵即可開啟 Mongo Shell。
- 首先,開啟命令視窗並導航至 MongoDB 的
在本章中,您學習了哪些 MongoDB Shell 命令?
- 您學習了
show databases命令用於顯示現有的資料函式庫,以及exit命令用於離開 Mongo Shell。
- 您學習了
在Linux(Ubuntu)上安裝和設定MongoDB
本章節將介紹如何在Linux(本範例使用Ubuntu,一種廣泛使用的Linux版本)上安裝和設定MongoDB。同時,本章節也會涵蓋MongoDB在Linux上的安裝後檢查。因此,在本章節中,您將學習如何為Linux下載MongoDB,以及如何在您的Linux機器上正確安裝它。本章節將透過逐步的方法並附上截圖來說明,以便您輕鬆理解在Linux機器上安裝和設定MongoDB的過程。同時,本章節也會介紹安裝後步驟,以方便您驗證MongoDB是否已正確安裝在您的Linux系統上。
本章節內容結構
在本章節中,我們將討論以下主題:
- 在Linux作業系統(Ubuntu)上設定MongoDB
- 檢查Linux作業系統上的安裝狀態
- 在Linux作業系統上連線MongoDB
學習目標
在本章節學習完成後,您應該能夠瞭解在Linux作業系統上安裝MongoDB的步驟,以及如何檢查MongoDB是否已正確安裝在您的Linux作業系統上。稍後在本章節中,您將學習如何連線MongoDB,以進行安裝後的驗證和檢查。
在Linux上設定MongoDB
讓我們來探索如何在執行Linux OS(Ubuntu)的機器上下載、安裝和設定MongoDB Community Edition。
在Linux作業系統上安裝MongoDB Community Edition
我們將示範如何在Linux作業系統(Ubuntu)上安裝MongoDB Community Edition(版本4.2)。我們將使用預設的安裝方法來在執行Linux作業系統的機器上安裝MongoDB Community Edition。
這裡,我們將介紹在x86_64架構上的64位元Ubuntu版本上的MongoDB Community Edition(版本4.2)。這包括以下版本的Linux作業系統(Ubuntu):
- 18.04 LTS(“Bionic”)
- 16.04 LTS(“Xenial”) 只有這些平台的64位元版本才受MongoDB支援。在我們的範例中,我們將使用Ubuntu 18.04來安裝和設定MongoDB。要檢查您的Linux作業系統(Ubuntu)版本,請開啟您的系統設定,方法是在Ubuntu OS的左上角點選設定按鈕(這可能根據不同的Linux版本而有所不同),如下面的截圖所示:
或者,您也可以使用命令列終端機上的以下命令。步驟如下:
- 使用鍵盤快捷鍵[CTRL] + [ALT] + [T]開啟終端機
- 輸入命令 -
lsb_release -a並按下Enter - 終端機將顯示Ubuntu版本。
安裝步驟
方法一(瀏覽器方法)
步驟1 – 下載MongoDB Community Edition
- 在您喜歡的瀏覽器中開啟MongoDB Inc.的官方網站 –
https://www.mongodb.com/,如下面的截圖所示: - 點選網站右上角的綠色「Try Free」按鈕,如下面的截圖所示:
- 這將開啟MongoDB下載中心頁面,您將在頁面的頂部看到3個主要標籤。點選「Server」標籤連結,如下面的截圖所示:
- 這將開啟一個MongoDB伺服器下載畫面。此畫面將自動偵測您的OS型別。如果沒有自動偵測到正確的版本,您可以手動更改OS型別,如下面的截圖所示:
- 現在,點選「Download」按鈕,MongoDB下載將自動開始,如下面的截圖所示:
下載完成後,我們可以繼續進行步驟2中提到的安裝過程。
步驟2 – 在您的Linux機器上安裝MongoDB Community Edition 在本步驟中,我們將介紹如何使用瀏覽器為基礎的方法來安裝MongoDB。
- 當下載100%完成後,將開啟一個新的畫面,您將在其中找到安裝MongoDB伺服器的選項,如下面的截圖所示:
- 您也可以在安裝畫面中看到MongoDB套件的詳細資訊、版本和授權,如下面的截圖所示:
- 當您點選「Install」後,將出現一個提示視窗,如下面的截圖所示,要求您輸入密碼,因為它需要root許可權才能在Linux機器(本例中為Ubuntu)上安裝:
- 因此,您需要輸入密碼,並點選「Authenticate」按鈕,如下面的截圖所示:
- 當您輸入密碼後,MongoDB在Linux(Ubuntu)上的安裝將開始,畫面將顯示進度條,如下面的截圖所示:
- 當安裝完成後,您將看到一個畫面,如下面的截圖所示,其中有一個「Remove」按鈕,如果您想要從您的Linux機器(本例中為Ubuntu)移除MongoDB。
- 為了驗證MongoDB是否已安裝在您的Linux(Ubuntu)機器上,您可以點選Ubuntu軟體並瀏覽,然後檢查已安裝軟體的列表,如下面的截圖所示:
內容解密:
上述步驟詳細介紹了在Ubuntu Linux作業系統上下載和安裝MongoDB Community Edition的過程。首先,我們需要從MongoDB官方網站下載適合的安裝套件。接著,透過Ubuntu的軟體安裝程式進行安裝,並在過程中輸入管理員密碼以完成安裝。最後,我們驗證了MongoDB是否已正確安裝在系統上。這些步驟對於需要在Linux環境下佈署MongoDB的開發人員或管理員來說至關重要。
在Linux(Ubuntu)上安裝MongoDB的詳細步驟
方法二:使用Shell命令安裝MongoDB
有時候,使用根據瀏覽器的方法安裝MongoDB可能會遇到一些問題。某些Linux機器在執行MongoDB之前需要安裝額外的軟體或函式庫,例如MongoDB客戶端。以下是一個例子:
當我們嘗試從Shell執行mongo命令時,它會顯示找不到該命令,我們需要安裝額外的軟體或函式庫,如mongo-clients,才能在Linux作業系統上執行MongoDB。
在Linux(Ubuntu)上安裝MongoDB客戶端(mongo-clients)的步驟
MongoDB客戶端函式庫(mongo-clients)用於連線到MongoDB伺服器。以下步驟將展示如何在Linux機器上安裝這些客戶端。
在Linux Shell中輸入以下命令:
sudo apt install mongodb-clients這將提示您輸入密碼以繼續,如下圖所示:
輸入密碼並按下Enter鍵後,它將開始下載並安裝MongoDB客戶端。在某些情況下,它會再次提示您按下Y鍵並按下Enter鍵以確認安裝,如下圖所示:
您可以看到MongoDB客戶端的安裝進度,如下圖所示:
一旦MongoDB客戶端的安裝完成,它將再次顯示命令提示符,如下圖所示:
使用Shell命令在Linux(Ubuntu)上安裝MongoDB的步驟
在某些情況下,即使您已經使用根據瀏覽器的方法安裝了MongoDB,您仍然可能無法啟動MongoDB服務。如果您無法啟動MongoDB服務,請嘗試使用Shell命令。以下是使用Shell方法安裝MongoDB的逐步:
在Linux Shell中輸入以下命令:
wget -qO - https://www.mongodb.org/static/pgp/server-4.3.asc | sudo apt-key add -這將匯入套件管理系統使用的公開金鑰(Public GPG Key)。注意,此命令將傳回一個OK訊息,如下圖所示:
內容解密:
wget是一個用於從網路上下載檔案的工具。-qO -選項告訴wget靜默下載並將輸出直接傳送到後續的命令。https://www.mongodb.org/static/pgp/server-4.3.asc是MongoDB公開金鑰的URL,用於驗證下載的套件。sudo apt-key add -將下載的公開金鑰新增到系統的金鑰列表中,以驗證MongoDB套件的真實性。
建立一個MongoDB的列表檔案,使用以下命令:
echo "deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.3.list內容解密:
echo命令輸出指定的字串。deb [arch=amd64,arm64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse是MongoDB套件函式庫的來源。sudo tee命令將輸出寫入指定的檔案,同時在終端顯示輸出。
使用以下命令重新載入本地套件資料函式庫:
sudo apt-get update內容解密:
sudo apt-get update命令更新本地套件索引,使其包含新增的MongoDB套件來源。
使用以下命令安裝MongoDB套件:
sudo apt-get install -y mongodb-org內容解密:
sudo apt-get install -y mongodb-org命令安裝MongoDB套件,-y選項自動確認安裝。
安裝完成後,您將傳回到命令提示符。
步驟3:在Linux(Ubuntu)上啟動MongoDB
為了確保MongoDB已正確安裝在您的Linux(Ubuntu)機器上,請按照以下步驟操作:
使用以下命令啟動MongoDB服務:
sudo systemctl start mongod內容解密:
sudo systemctl start mongod命令啟動MongoDB服務。
檢查MongoDB服務是否已啟動:
sudo systemctl status mongod如果服務已正確啟動,它將顯示MongoDB服務的狀態。
步驟4:在Linux(Ubuntu)上連線到MongoDB
現在,讓我們嘗試使用Shell命令從您的Linux(Ubuntu)機器連線到MongoDB命令列。按照以下步驟操作: