logo
icon

MongoDB

一個開源、跨平台、面向文件的資料庫程式。

template cover
部署次數2604
發布者zeaburZeabur
建立於2024-03-29
模板內的服務
service icon
標籤
Database

部署 MongoDB

MongoDB 是一款受歡迎的開源、面向文件的 NoSQL 資料庫。它不使用傳統的列與欄,而是以彈性的類 JSON 文件儲存資料,非常適合需要高效能與可擴展性的現代 Web 應用。

Zeabur 讓資料庫部署變得更簡單。你不需要手動管理 Docker 容器或設定伺服器,只要在 Marketplace 一鍵即可部署可用的 MongoDB 實例。

你將學到什麼

在本教學中,我們將帶你完成:

  1. 在 Zeabur 上部署 MongoDB 服務。
  2. 使用 VS CodeCompassMongosh 在本機連線資料庫。
  3. 設定你的 Node.js 或 Python 應用與資料庫溝通。

階段 1:部署資料庫

步驟 1:建立 MongoDB 服務

Zeabur 提供「一鍵部署」,通常你不需要手動設定複雜的選項。

選項 1:從 Project 頁面建立 Postgresql 實例

  1. 登入你的 Zeabur Dashboard
  2. 點擊 "New Project" 按鈕。
  3. 選擇 "Template"(Marketplace)。
  4. 搜尋 MongoDB
  5. 選擇官方 MongoDB 映像,服務會立刻開始部署。

選項 2:從模板頁面建立 MongoDB 實例

  1. 登入你的 Zeabur Dashboard
  2. 選擇 FeaturesTemplate
  3. 選擇或搜尋 MongoDB
  4. 選擇 MongoDB(通常為官方映像),點擊 deploy 即可開始部署。

步驟 2:取得連線字串

  1. 前往服務的 Instruction 分頁。
  2. 複製 MongoDB connection string(URI)。
    • 看起來像這樣: mongodb://mongo:xxxx@xxx.clusters.zeabur.com:25909

階段 2:連線資料庫

選項 A:使用 VS Code 連線

在 VS Code 管理 MongoDB 的最佳方式是使用官方擴充套件。

  1. 安裝擴充套件:
    • 前往 Extensions Marketplace。
    • 搜尋 "MongoDB for VS Code"
    • 安裝由 MongoDB 發布的套件。
  2. 新增連線:
    • 點擊側邊欄出現的 MongoDB 葉子圖示
    • 點擊 "Add Connection"
    • 選擇 "Connect with Connection String"
  3. 貼上並連線:
    • 將你在 Zeabur 複製的 URL 貼到 Step 3
    • 按下 Enter
    • 現在你可以在側邊欄直接瀏覽 Collections 與 Documents。

選項 B:使用 MongoDB Compass(官方 GUI)連線

若你想要視覺化你的資料(表格、圖表、Schema 分析),MongoDB Compass 是標準工具。

  1. 下載並安裝 MongoDB Compass
  2. 開啟應用程式。
  3. "URI" 輸入框貼上 Zeabur 的連線字串。
  4. 點擊 "Connect"
    • 疑難排解: 若失敗,請確認你沒有誤複製到 "Internal" 主機。內部主機通常以 .svc.cluster.local 結尾,無法在你的電腦上使用;而公網主機通常以 .zeabur.app 結尾。

選項 C:使用 Mongosh 連線

mongosh 是一個功能完整的 JavaScript 與 Node.js REPL 環境,可用來與 MongoDB 資料庫互動。

依照文件下載並安裝後,回到你的 Zeabur Dashboard。在 MongoDB 服務的 Connections 分頁中點擊眼睛圖示以複製連線字串。 connect-path

mongosh mongodb://<YOUR_CONNECT_PATH>

<YOUR_CONNECT_PATH> 替換為你剛剛複製的連線字串,並使用以下指令測試是否連線成功:

use mongodb_test
db.mongodb_test.insertOne({content: "Hello World"})
show dbs

若成功,會回傳: mongosh-connect-success

然後我們可以 drop 測試資料庫。

use mongodb_test
db.drop()

💡 重要提示:"Internal" vs "Public"

  • 本機開發: 使用你剛設定好的 Public 網域。
  • 部署的應用: 當你把後端程式(Node.js/Python)部署到 Zeabur 後,請將 MONGO_URI 環境變數改成 Internal 連線字串(可在 Connection 分頁的 "Private" 區塊找到)。
    • 為什麼? 內網連線更快,且不會計入公網頻寬用量。