MongoDB Compass 提供直觀的圖形化介面,簡化了 MongoDB 的連線和操作流程。透過視覺化的方式,使用者可以輕鬆瀏覽資料函式庫、集合和檔案,執行 CRUD 操作,以及監控資料函式庫的效能。對於不熟悉命令列操作的使用者來說,MongoDB Compass 是一個非常友善的工具,可以有效提升開發效率。本文將逐步引導讀者完成 MongoDB Compass 的安裝、連線設定,並透過實際案例示範如何使用它進行資料函式庫操作。此外,文章也提供程式碼片段和詳細解說,幫助讀者更深入地理解 MongoDB 的運作機制。
使用 MongoDB Compass 連線 MongoDB 伺服器
安裝完 MongoDB Compass 之後,我們可以開始使用它。在步驟 4 中,我們將使用 MongoDB Compass 連線到 MongoDB 伺服器。
步驟 4:在 Windows 上使用 MongoDB Compass 連線 MongoDB 伺服器
現在,讓我們嘗試從 Windows 機器上使用 MongoDB Compass 連線 MongoDB 伺服器。請依照以下步驟:
點選工作列的搜尋區域並輸入 Compass。您會看到 Compass 應用程式出現在搜尋結果中,點選 以管理員身分執行。這將以管理員許可權開啟 MongoDB Compass,如下圖所示:
圖 16.15:MongoDB Compass - 開啟 MongoDB Compass
點選 以管理員身分執行 後,將開啟 MongoDB Compass 應用程式。由於這是第一次使用該應用程式,因此會顯示一個滑動視窗,介紹 MongoDB Compass 的功能。此時,您可以閱讀這些功能或關閉滑動視窗,如下圖所示:
圖 16.16:MongoDB Compass - 應用程式主畫面
在開始使用 MongoDB Compass 之前,應用程式會要求您決定隱私設定。這些隱私設定不在本文的討論範圍內,您可以根據個人或組織的偏好進行選擇。建議點選 MongoDB 隱私政策連結 以瞭解更多相關資訊。您可以勾選或取消勾選所有選項,如下圖所示:
圖 16.17:MongoDB Compass - 隱私設定
有兩種方法可以連線到 MongoDB 伺服器與 MongoDB Compass。第一種方法是使用連線字串,第二種方法是個別填寫連線欄位。讓我們探索第二種方法。點選 個別填寫連線欄位 的連結,如下圖所示:
圖 16.18:MongoDB Compass - 連線到 MongoDB 伺服器 - 個別填寫連線欄位
在我們的範例中,我們輸入了以下值:
- 主機名稱:localhost
- 連線埠:27017
現在點選 連線 按鈕以連線到已經在本地機器上執行於連線埠 27017 的 MongoDB 伺服器(這是 MongoDB 伺服器的預設連線埠),如下圖所示:
圖 16.19:MongoDB Compass - 連線到 MongoDB 伺服器 - 連線到本地 MongoDB 伺服器
點選連線後,我們可以看到資料函式庫的列表。其中一些資料函式庫可能與 MongoDB 系統相關,這些是由 MongoDB 預設建立的,如下所列:
- admin
- config
- local
我們將在之前章節中建立的資料函式庫 BPBOnlineBooksDB 上進行操作,如下圖所示:
圖 16.20:MongoDB Compass - 資料函式庫列表
到目前為止,我們已經學習瞭如何使用 MongoDB Compass 連線到 MongoDB 伺服器。在下一節中,我們將透過更多實際範例來瞭解 MongoDB Compass。
使用 MongoDB Compass 的實際範例
以下是一些使用 MongoDB Compass 的實際範例,以更好地瞭解它:
範例1:瀏覽資料函式庫中的集合
要瀏覽資料函式庫中的集合,請依照以下步驟,如下圖所示:
連線到 MongoDB 伺服器,如本章前一節所述。
點選您選擇的資料函式庫。
您將獲得該特定資料函式庫中存在的集合列表。
圖 16.21:範例1 - 瀏覽資料函式庫中的集合
在我們的範例中,我們看到了如何瀏覽資料函式庫中的 MongoDB 集合列表。
範例2:在資料函式庫中建立新集合
要在資料函式庫中建立新集合,請依照以下步驟:
連線到 MongoDB 伺服器,如本章前一節所述。
點選您選擇的資料函式庫。
您將獲得該特定資料函式庫中存在的集合列表。
要在該資料函式庫中建立新集合,請點選您正在瀏覽集合的畫面右上角的 建立集合 按鈕,如下圖所示:
圖 16.22:範例2 - 建立新集合 - 畫面1
這將開啟一個新的彈出視窗,您可以在其中輸入集合的名稱。輸入集合名稱後,點選 建立集合 按鈕。這將在資料函式庫中建立一個新集合,如下圖所示:
圖 16.23:範例2 - 建立新集合 - 畫面2
您可以在資料函式庫中瀏覽集合列表,以驗證該集合是否已由 MongoDB Compass 建立,如下圖所示:
圖 16.24:範例2 - 建立新集合 - 畫面3
因此,在我們的範例中,我們看到了如何使用 MongoDB Compass 在資料函式庫中建立新的 MongoDB 集合。
範例3:瀏覽資料函式庫中的檔案
要瀏覽資料函式庫中的檔案,請依照以下步驟,如下圖所示:
連線到 MongoDB 伺服器,如本章前一節所述。
點選您選擇的資料函式庫。
您將獲得該特定資料函式庫中存在的集合列表。
點選您選擇的集合。
一旦您選擇了集合,您將獲得該特定集合中存在的檔案列表。
請點選檔案左側的展開圖示,以檢視檔案內的所有資料。
圖 16.25:範例3 - 瀏覽資料函式庫中的檔案
在我們的範例中,我們看到了如何瀏覽集合中的 MongoDB 檔案列表。
範例4:在檔案中執行 CRUD 操作
MongoDB Compass 中提供了許多功能來操作資料,如下圖所示:
- 連線到 MongoDB 伺服器,如本章前一節所述。
- 請點選您選擇的資料函式庫。
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
title MongoDB Compass 連線與操作
package "資料庫架構" {
package "應用層" {
component [連線池] as pool
component [ORM 框架] as orm
}
package "資料庫引擎" {
component [查詢解析器] as parser
component [優化器] as optimizer
component [執行引擎] as executor
}
package "儲存層" {
database [主資料庫] as master
database [讀取副本] as replica
database [快取層] as cache
}
}
pool --> orm : 管理連線
orm --> parser : SQL 查詢
parser --> optimizer : 解析樹
optimizer --> executor : 執行計畫
executor --> master : 寫入操作
executor --> replica : 讀取操作
cache --> executor : 快取命中
master --> replica : 資料同步
note right of cache
Redis/Memcached
減少資料庫負載
end note
@enduml此圖示顯示了使用MongoDB Compass的基本操作流程。
程式碼實作與解析
連線MongoDB的程式碼片段
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
const dbName = 'BPBOnlineBooksDB';
MongoClient.connect(url, function(err, client) {
if (err) {
console.log(err);
} else {
console.log("Connected successfully to server");
const db = client.db(dbName);
// 在這裡進行資料函式庫操作
client.close();
}
});
程式碼解析
此段程式碼展示瞭如何使用 Node.js 的 mongodb 包連線到本地的 MongoDB 資料函式庫。
- 首先,需要引入
mongodb的MongoClient。 - 定義了連線 URL 和要操作的資料函式庫名稱。
- 使用
MongoClient.connect方法連線到指定的 URL。 - 在回呼函式中檢查是否有錯誤發生。
- 如果連線成功,則取得指定的資料函式庫物件,並可進行進一步的操作。
- 操作完成後,關閉客戶端連線。
使用Mongoose進行CRUD操作的程式碼片段
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/BPBOnlineBooksDB', { useNewUrlParser: true, useUnifiedTopology: true });
const bookSchema = new mongoose.Schema({
title: String,
author: String
});
const Book = mongoose.model('Book', bookSchema);
// 建立新檔案
const newBook = new Book({ title: 'Example Book', author: 'John Doe' });
newBook.save(function(err, book) {
if (err) {
console.log(err);
} else {
console.log('Book saved successfully:', book);
}
});
程式碼解析
此段程式碼展示瞭如何使用 Mongoose 在 Node.js 中進行 CRUD 操作。
- 首先,需要引入
mongoose包並連線到指定的 MongoDB 資料函式庫。 - 定義了一個 Mongoose 的 Schema,用於描述檔案的結構。
- 根據 Schema,建立了一個 Mongoose Model,用於操作對應的集合。
- 建立了一個新的檔案例項,並呼叫
save方法儲存到資料函式庫中。 - 在
save方法的回呼函式中處理儲存結果,輸出成功或失敗的資訊。
管理與操作 MongoDB Compass
MongoDB Compass 是 MongoDB 官方提供的圖形化使用者介面(GUI)工具,能夠讓使用者更輕鬆地管理和操作 MongoDB 資料函式庫。在本章中,我們將介紹 MongoDB Compass 的安裝、使用方法,以及如何利用它進行資料函式庫的 CRUD(新增、讀取、更新、刪除)操作。
安裝 MongoDB Compass
- 首先,您需要從 MongoDB 官方網站下載 MongoDB Compass 的安裝檔案。
- 根據您的作業系統(Windows、Linux 或 MacOS),執行相應的安裝步驟。
- 安裝完成後,啟動 MongoDB Compass。
連線至 MongoDB 伺服器
- 開啟 MongoDB Compass 後,您需要連線到 MongoDB 伺服器。
- 輸入您的 MongoDB 伺服器的連線字串或主機名稱和連線埠號碼。
- 按下「連線」按鈕,建立與 MongoDB 伺服器的連線。
使用 MongoDB Compass 進行 CRUD 操作
檢視資料函式庫和集合
- 連線成功後,您將看到 MongoDB 伺服器上的資料函式庫列表。
- 選擇您要操作的資料函式庫,即可檢視該資料函式庫中的集合列表。
- 點選您要操作的集合,即可檢視該集合中的檔案列表。
新增、編輯和刪除檔案
- 在檔案列表頁面,您可以點選「新增資料」按鈕來新增檔案。
- 若要編輯檔案,請點選檔案右側的「編輯」按鈕,在彈出的視窗中進行修改後,按下「更新」按鈕儲存變更。
- 若要刪除檔案,請點選檔案右側的「刪除」按鈕。
// 使用 MongoDB Node.js Driver 新增檔案的範例程式碼
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
const dbName = 'mydatabase';
const collectionName = 'mycollection';
MongoClient.connect(url, function(err, client) {
if (err) {
console.log(err);
} else {
console.log('Connected to MongoDB');
const db = client.db(dbName);
const collection = db.collection(collectionName);
collection.insertOne({ name: 'John Doe', age: 30 }, function(err, result) {
if (err) {
console.log(err);
} else {
console.log('File inserted successfully');
}
client.close();
});
}
});
內容解密:
上述程式碼展示瞭如何使用 MongoDB Node.js Driver 連線到 MongoDB 伺服器,並新增一個檔案至指定的集合中。
- 首先,我們需要引入
MongoClient類別並指定 MongoDB 伺服器的連線字串和資料函式庫名稱。 - 使用
MongoClient.connect方法建立與 MongoDB 伺服器的連線。 - 連線成功後,我們取得指定資料函式庫和集合的例項,並使用
insertOne方法新增一個檔案。 - 新增成功後,關閉與 MongoDB 伺服器的連線。
重點回顧
- MongoDB Compass 是官方提供的 GUI 工具,用於管理和操作 MongoDB 資料函式庫。
- 可以在 Windows、Linux 和 MacOS 等多個平台上使用。
- 提供 CRUD 操作功能,方便使用者對資料函式庫進行管理。
練習題
- MongoDB Compass 是什麼?
- 如何使用 MongoDB Compass 連線到 MongoDB 伺服器?
- 如何在 MongoDB Compass 中進行 CRUD 操作?
多選題
MongoDB Compass 是: a. 命令列介面 b. 程式語言 c. 圖形化使用者介面(GUI)工具 d. 以上皆非
以下哪個作業系統支援 MongoDB Compass? a. Windows b. Linux c. MacOS d. 以上皆是
答案
- c
- d
關鍵術語
- GUI:圖形化使用者介面
- CRUD:新增、讀取、更新、刪除
- MongoDB Compass:MongoDB 官方提供的 GUI 工具,用於管理和操作 MongoDB 資料函式庫。
管理 MongoDB 服務與監控
MongoDB 的主要處理程式為 mongod,它負責處理資料請求、管理資料存取以及執行背景管理程式。瞭解如何管理 mongod 程式對於 MongoDB 的維運至關重要。
瞭解 mongod 程式
mongod 是 MongoDB 的主要守護程式,執行於背景。它負責以下功能:
- 處理資料請求
- 管理資料存取
- 執行背景管理程式
在 Windows 系統中,mongod 也可以作為服務執行。預設情況下,MongoDB 安裝程式會自動建立一個名為 “MongoDB Server (MongoDB)” 的服務。
管理 mongod 程式
檢查 MongoDB 服務
在 Windows 中檢查 MongoDB 服務的步驟如下:
- 在 Windows 搜尋框中輸入
services,然後開啟 Windows 服務管理員。 - 在服務管理員中,找到 MongoDB Server (MongoDB) 服務,並檢視其狀態。
- 可以選擇啟動、停止或重新啟動該服務。
檢視 MongoDB 服務屬性
- 在 Windows 服務管理員中,右鍵點選 MongoDB Server (MongoDB) 服務,選擇屬性。
- 在屬性視窗中,可以檢視
mongod的可執行檔路徑及設定檔路徑,如mongod.cfg。 mongod.cfg檔案包含了 MongoDB 的預設設定選項。
從命令列執行 mongod
除了作為服務執行外,也可以從命令列執行 mongod。步驟如下:
- 以系統管理員身分開啟命令提示字元。
- 切換到 MongoDB 的
bin目錄,如C:\Program Files\MongoDB\Server\4.4\bin。 - 執行
mongod命令,並指定相關引數,如埠號和資料函式庫路徑。
範例命令如下:
mongod --port 27017 --dbpath "c:\Program Files\MongoDB\Server\4.4\data\db"
程式碼解說:
mongod:啟動 MongoDB 服務的命令。--port 27017:指定 MongoDB 監聽的埠號為 27017。--dbpath "c:\Program Files\MongoDB\Server\4.4\data\db":指定資料函式庫檔案的儲存路徑。
此命令會在指定的埠號和資料函式庫路徑下啟動 MongoDB 服務。請確保指定的資料函式庫路徑已經建立,否則需要先建立該目錄。
停止 MongoDB 服務
從 Windows 服務管理員停止 MongoDB 服務
- 開啟 Windows 服務管理員。
- 找到 MongoDB Server (MongoDB) 服務。
- 點選停止按鈕以停止 MongoDB 服務。
從命令列停止 MongoDB 服務
- 以系統管理員身分開啟命令提示字元。
- 切換到 MongoDB 的
bin目錄。 - 使用
Ctrl + C鍵停止正在執行的 MongoDB 服務。
MongoDB 的監控與診斷
MongoDB 的監控與診斷是資料函式倉管理員的重要任務之一。透過監控,我們可以瞭解 MongoDB 例項的運作狀況,分析日誌和其他指標,以預防潛在的問題,如查詢效能緩慢、流量過高等。
監控層級
我們可以在不同的層級對 MongoDB 進行監控,例如例項層級、資料函式庫層級或集合層級等。當遇到問題時,管理員需要快速診斷並採取相應的措施,以避免問題升級或導致系統故障。
MongoDB 工具的安裝
為了監控和診斷 MongoDB,我們需要安裝 MongoDB 提供的工具。以下是安裝步驟:
- 前往 MongoDB 官方網站(https://www.mongodb.com/),將滑鼠指標移到頂部導航欄的「Software」連結上,然後點選「Community Server」。
- 在 MongoDB Community Edition 頁面中,點選頂部的「Tools」卡片。
- 在 MongoDB Tools 頁面中,點選底部的「MongoDB Database Tools」連結。
- 在 MongoDB Database Tools 頁面中,選擇 MSI(Windows 安裝程式檔案)作為套件選項,然後點選「Download」按鈕。
- 下載完成後,執行安裝程式,按照安裝精靈的指示完成安裝。
安裝過程中的注意事項
在安裝過程中,安裝精靈會要求您接受授權協定和其他條款。建議仔細閱讀這些內容。
驗證 MongoDB 工具的安裝
安裝完成後,可以透過以下步驟驗證 MongoDB 工具是否正確安裝:
- 開啟命令提示字元,導航到 MongoDB 工具的安裝目錄(例如:C:\Program Files\MongoDB\Tools)。
- 導航到
bin目錄(例如:C:\Program Files\MongoDB\Tools\100\bin)。 - 在
bin目錄中執行dir命令,您將看到一系列的可執行檔(.exe),這些檔案是 MongoDB 工具和公用程式的一部分。
使用 MongoDB 工具
MongoDB 工具和公用程式提供了豐富的功能,可以幫助管理員監控和診斷 MongoDB 例項。後續章節將介紹如何使用這些工具。
程式碼示例
# 導航到 MongoDB 工具的安裝目錄
cd C:\Program Files\MongoDB\Tools\100\bin
# 檢視 bin 目錄下的內容
dir
內容解密:
cd命令用於更改目前的工作目錄。在這裡,我們導航到 MongoDB 工具的bin目錄。dir命令用於顯示目前目錄下的檔案和子目錄列表。執行此命令後,您將看到一系列的可執行檔,這些是 MongoDB 提供的工具和公用程式。