返回文章列表

MongoDB基礎概念與安裝

本文介紹 NoSQL 資料函式庫 MongoDB 的核心概念、基本術語,以及在 Windows 和 Linux(Ubuntu)系統上的安裝步驟和設定方式。涵蓋 MongoDB Community Edition 和 Enterprise Advanced Edition

資料函式庫 Linux

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

  1. 下載MongoDB:從官方網站下載適合Windows的MongoDB版本。
  2. 安裝MongoDB:執行下載的安裝檔案,並按照提示完成安裝。
  3. 檢查安裝:驗證MongoDB是否正確安裝在Windows系統上。
  4. 連線至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 EditionMongoDB Enterprise Advanced Edition
多檔案 ACID 交易支援支援
分片區域支援支援
更快的初始同步支援支援
自動平衡支援支援
可調一致性支援支援
x64 和 ARM 支援支援支援
檢視支援支援
mongoreplay 工具支援支援
校對支援支援
十進位制型別支援支援

在 Windows 上安裝 MongoDB Community Edition

以下是在 Windows 上安裝 MongoDB Community Edition 的步驟。

下載 MongoDB Community Edition

  1. 開啟 MongoDB 官方網站(https://www.mongodb.com/)。
  2. 點選頂部導覽列的「Software」連結,然後選擇「Community Server」。
  3. 在下載頁面中,選擇適合的版本進行下載。

安裝 MongoDB Community Edition

  1. 開啟下載的 MSI 安裝檔案。
  2. 安裝精靈將引導您完成安裝過程。
  3. 同意授權協定後,選擇「Complete」安裝型別以使用預設設定進行安裝。
  4. 安裝完成後,您將看到一些與 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 安裝精靈的指示

  1. 選擇安裝型別:在安裝過程中,您將看到多個選項。選擇「Complete」安裝以安裝所有元件。

  2. 資料和日誌目錄路徑:您可以更改資料和日誌檔案的儲存位置。在我們的範例中,我們將保留預設設定。

  3. 服務組態設定:在接下來的畫面中,您將看到與 MongoDB Compass 安裝相關的選項。為了本章的教學目的,我們將取消勾選此選項,因為我們將在後續章節中介紹 MongoDB Compass。

  4. 開始安裝:點選「Install」按鈕以開始安裝。安裝程式將複製檔案並在您的 Windows 機器上組態 MongoDB。

  5. 完成安裝:安裝完成後,您將看到「Finish」按鈕。點選此按鈕以完成安裝程式。

  6. 重新啟動系統:在某些情況下,安裝程式可能會提示您重新啟動電腦以完成安裝。對於 Windows 10 和 MongoDB 4.4,您可能不會收到此提示。

步驟 3:安裝後檢查

為了驗證 MongoDB 是否已正確安裝,請遵循以下步驟:

  1. 開啟 Windows 控制台並導航至「程式」。

  2. 點選「程式和功能」以檢視已安裝程式的清單。如果 MongoDB 已成功安裝,您應該能夠在此清單中看到它。

步驟 4:連線到 MongoDB

  1. 開啟命令視窗並導航至 MongoDB 的 bin 目錄,通常位於 C:\Program Files\MongoDB\Server\4.4\bin

  2. 輸入 mongo 命令並按下 Enter 鍵以開啟 Mongo Shell。

  3. 在 Mongo Shell 中,您可以執行各種 MongoDB 命令,如 show databases 以檢視現有的資料函式庫。

  4. 輸入 exit 命令並按下 Enter 鍵以離開 Mongo Shell。

連線 MongoDB 的程式碼範例

# 導航至 MongoDB 的 bin 目錄
cd C:\Program Files\MongoDB\Server\4.4\bin

# 開啟 Mongo Shell
mongo

# 檢視現有的資料函式庫
show databases

# 離開 Mongo Shell
exit

內容解密:

  1. cd C:\Program Files\MongoDB\Server\4.4\bin:這行命令用於導航至 MongoDB 的 bin 目錄。這是必要的,因為 mongo 命令位於此目錄中。

  2. mongo:此命令用於啟動 Mongo Shell,使您能夠與 MongoDB 資料函式庫互動。

  3. show databases:此命令用於顯示目前 MongoDB 例項中的所有資料函式庫。

  4. exit:輸入此命令以離開 Mongo Shell,傳回到命令列介面。

問題與討論

  1. 什麼是 MSI 檔案?

    • MSI 檔案是 Windows Installer 的檔案格式,用於安裝和組態軟體應用程式。
  2. 您應該從哪個來源下載 MongoDB 安裝檔案?

    • 您應該從 MongoDB Inc. 的官方網站下載 MongoDB 安裝檔案。
  3. MongoDB 伺服器有哪些版本?

    • MongoDB 提供 Community Server 和 Enterprise Server 兩個主要版本。
  4. 如何登入到 MongoDB Shell?請說明過程。

    • 首先,開啟命令視窗並導航至 MongoDB 的 bin 目錄。然後,輸入 mongo 命令並按下 Enter 鍵即可開啟 Mongo Shell。
  5. 在本章中,您學習了哪些 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版本而有所不同),如下面的截圖所示:

或者,您也可以使用命令列終端機上的以下命令。步驟如下:

  1. 使用鍵盤快捷鍵[CTRL] + [ALT] + [T]開啟終端機
  2. 輸入命令 - lsb_release -a並按下Enter
  3. 終端機將顯示Ubuntu版本。

安裝步驟

方法一(瀏覽器方法)

步驟1 – 下載MongoDB Community Edition

  1. 在您喜歡的瀏覽器中開啟MongoDB Inc.的官方網站 – https://www.mongodb.com/,如下面的截圖所示:
  2. 點選網站右上角的綠色「Try Free」按鈕,如下面的截圖所示:
  3. 這將開啟MongoDB下載中心頁面,您將在頁面的頂部看到3個主要標籤。點選「Server」標籤連結,如下面的截圖所示:
  4. 這將開啟一個MongoDB伺服器下載畫面。此畫面將自動偵測您的OS型別。如果沒有自動偵測到正確的版本,您可以手動更改OS型別,如下面的截圖所示:
  5. 現在,點選「Download」按鈕,MongoDB下載將自動開始,如下面的截圖所示:

下載完成後,我們可以繼續進行步驟2中提到的安裝過程。

步驟2 – 在您的Linux機器上安裝MongoDB Community Edition 在本步驟中,我們將介紹如何使用瀏覽器為基礎的方法來安裝MongoDB。

  1. 當下載100%完成後,將開啟一個新的畫面,您將在其中找到安裝MongoDB伺服器的選項,如下面的截圖所示:
  2. 您也可以在安裝畫面中看到MongoDB套件的詳細資訊、版本和授權,如下面的截圖所示:
  3. 當您點選「Install」後,將出現一個提示視窗,如下面的截圖所示,要求您輸入密碼,因為它需要root許可權才能在Linux機器(本例中為Ubuntu)上安裝:
  4. 因此,您需要輸入密碼,並點選「Authenticate」按鈕,如下面的截圖所示:
  5. 當您輸入密碼後,MongoDB在Linux(Ubuntu)上的安裝將開始,畫面將顯示進度條,如下面的截圖所示:
  6. 當安裝完成後,您將看到一個畫面,如下面的截圖所示,其中有一個「Remove」按鈕,如果您想要從您的Linux機器(本例中為Ubuntu)移除MongoDB。
  7. 為了驗證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機器上安裝這些客戶端。

  1. 在Linux Shell中輸入以下命令:

    sudo apt install mongodb-clients
    

    這將提示您輸入密碼以繼續,如下圖所示:

  2. 輸入密碼並按下Enter鍵後,它將開始下載並安裝MongoDB客戶端。在某些情況下,它會再次提示您按下Y鍵並按下Enter鍵以確認安裝,如下圖所示:

  3. 您可以看到MongoDB客戶端的安裝進度,如下圖所示:

  4. 一旦MongoDB客戶端的安裝完成,它將再次顯示命令提示符,如下圖所示:

使用Shell命令在Linux(Ubuntu)上安裝MongoDB的步驟

在某些情況下,即使您已經使用根據瀏覽器的方法安裝了MongoDB,您仍然可能無法啟動MongoDB服務。如果您無法啟動MongoDB服務,請嘗試使用Shell命令。以下是使用Shell方法安裝MongoDB的逐步:

  1. 在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套件的真實性。
  2. 建立一個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命令將輸出寫入指定的檔案,同時在終端顯示輸出。
  3. 使用以下命令重新載入本地套件資料函式庫:

    sudo apt-get update
    

    內容解密:

    • sudo apt-get update命令更新本地套件索引,使其包含新增的MongoDB套件來源。
  4. 使用以下命令安裝MongoDB套件:

    sudo apt-get install -y mongodb-org
    

    內容解密:

    • sudo apt-get install -y mongodb-org命令安裝MongoDB套件,-y選項自動確認安裝。
  5. 安裝完成後,您將傳回到命令提示符。

步驟3:在Linux(Ubuntu)上啟動MongoDB

為了確保MongoDB已正確安裝在您的Linux(Ubuntu)機器上,請按照以下步驟操作:

  1. 使用以下命令啟動MongoDB服務:

    sudo systemctl start mongod
    

    內容解密:

    • sudo systemctl start mongod命令啟動MongoDB服務。
  2. 檢查MongoDB服務是否已啟動:

    sudo systemctl status mongod
    

    如果服務已正確啟動,它將顯示MongoDB服務的狀態。

步驟4:在Linux(Ubuntu)上連線到MongoDB

現在,讓我們嘗試使用Shell命令從您的Linux(Ubuntu)機器連線到MongoDB命令列。按照以下步驟操作: