資料庫

Mongo-express:基於 Web 的 MongoDB 管理介面

Mongo-express 是一個基於 Express.js 的 Web-based MongoDB 管理介面,用於瀏覽資料庫、集合、文件和執行查詢。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
Mongo-express:基於 Web 的 MongoDB 管理介面

MongoDB 的原生命令列 shell(mongosh)功能強大,但並非日常資料庫管理最友善的介面。開發者經常發現自己需要一個視覺化工具來瀏覽集合、檢查文件、執行臨時查詢和管理索引——這些任務使用圖形化介面效率更高。雖然 MongoDB Compass 提供了優秀的桌面工具,但在某些情況下,基於 Web 的管理介面更實用:無頭伺服器、共享開發環境、CI/CD 管線以及無法安裝桌面軟體的部署環境。

Mongo-express 是填補這一缺口最廣泛採用的開源解決方案。它使用 Express.js 和 Node.js 建置,是一個輕量級、自包含的 Web 應用程式,可連接到 MongoDB 並透過任何現代瀏覽器提供全面的管理介面。擁有超過 6000 萬次的 npm 下載量和 18 年的持續開發,它是開源生態系統中最經實戰考驗的資料庫管理工具之一。

該工具的長壽證明了其設計理念:專注做好一件事,保持簡單,避免功能膨脹。Mongo-express 不會試圖取代 MongoDB Compass 的每一個功能。相反,它專注於最常見的管理任務——瀏覽、查詢、編輯和監控——並透過一個乾淨、功能齊全的介面來提供這些功能,載入速度快且運行可靠。

核心功能

Mongo-express 透過其 Web 介面提供了一套全面的資料庫管理功能:

功能描述使用案例
資料庫瀏覽器列出並導覽伺服器上的所有資料庫快速探索資料概況
集合檢視器使用分頁和篩選功能瀏覽文件無需編寫查詢即可檢查資料
文件編輯器以表格或 JSON 檢視方式編輯文件無需 mongosh 即可修復資料問題
查詢執行器執行臨時 MongoDB 查詢開發期間測試查詢
索引管理員檢視、建立和刪除索引效能最佳化和綱要變更
匯入/匯出匯入和匯出 JSON 與 CSV 資料資料遷移和備份
伺服器狀態檢視資料庫統計、集合大小和效能監控資料庫健康狀況
驗證基本驗證和連線字串驗證保護生產資料庫的存取

部署選項

Mongo-express 根據你的基礎設施支援多種部署方式:

部署方式命令最適用於
npm 全域npm install -g mongo-express本地開發、單一開發者
Dockerdocker run mongo-express容器化環境、CI/CD
Docker Compose與 MongoDB 一起作為堆疊的一部分多服務應用程式
Heroku自訂 buildpackPaaS 部署
KubernetesHelm chart大規模生產環境

Docker 快速入門

嘗試 Mongo-express 最快的方式是使用 Docker,將其連接到 MongoDB 容器:

docker network create mongo-net
docker run -d --network mongo-net --name mongo mongo:7
docker run -it --rm --network mongo-net \
  -e ME_CONFIG_MONGODB_SERVER=mongo \
  -p 8081:8081 \
  mongo-express

架構與請求流程

下圖展示了 Mongo-express 如何與 MongoDB 伺服器和用戶端瀏覽器互動:

Express.js 伺服器充當瀏覽器和 MongoDB 之間的中介層。每個 HTTP 請求都會經過驗證、路由到適當的處理程式、轉換為 MongoDB 驅動程式呼叫,並將結果呈現為 HTML 或 JSON。這種架構使 Mongo-express 易於擴展(新增路由和處理程式)且易於保護(層疊中介軟體以實現驗證、速率限制和稽核記錄)。

設定

Mongo-express 透過環境變數或 config.js 檔案進行設定:

module.exports = {
  mongodb: {
    server: 'localhost',
    port: 27017,
    connectionString: 'mongodb://user:pass@localhost:27017/db',
  },
  site: {
    port: 8081,
    cookieSecret: 'your-secret-key',
    basicAuth: {
      username: 'admin',
      password: 'admin',
    },
  },
};

開始使用

欲開始使用 Mongo-express,請造訪 Mongo-express GitHub 儲存庫 取得安裝說明、設定指南和版本資訊。npm 套件頁面 提供最新版本和相依性資訊。

常見問題

什麼是 Mongo-express?

Mongo-express 是一個輕量級、基於 Web 的 MongoDB 管理介面,使用 Express.js 和 Node.js 建置。它提供圖形化 UI,用於瀏覽資料庫、檢視和編輯文件、執行臨時查詢以及管理索引,無需使用 mongo shell 或 MongoDB Compass。

如何安裝 Mongo-express?

Mongo-express 可透過 npm(npm install -g mongo-express)安裝,或使用 Docker(docker run -it –rm -p 8081:8081 mongo-express)執行。設定透過環境變數或設定檔完成,指定 MongoDB 連線字串和驗證選項。

可以用 Mongo-express 做什麼?

你可以瀏覽所有資料庫和集合,以表格或 JSON 檢視方式檢視和編輯文件,建立和刪除資料庫與集合,管理索引,執行自訂查詢,匯入和匯出 JSON/CSV 資料,以及監控伺服器狀態和資料庫統計資訊。

Mongo-express 適合生產環境使用嗎?

Mongo-express 主要設計用於開發和管理任務。雖然可以用於管理生產資料庫,但應始終部署在驗證機制(內建或反向代理)之後,限制在受信任的網路中,並且在沒有適當安全措施的情況下絕不直接暴露於公共網際網路。

Mongo-express 與 MongoDB Compass 相比如何?

Mongo-express 基於 Web 且免費(MIT 授權),而 MongoDB Compass 需要下載桌面應用程式,並有付費方案才能使用進階功能。Mongo-express 非常適合伺服器端環境、CI/CD 管線以及偏好可與資料庫一起部署的瀏覽器型工具的使用者。


延伸閱讀

TAG