logo
icon

MongoDB

一个开源、跨平台、面向文档的数据库程序。

template cover
部署次数2704
发布者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 域名。
  • 部署到 Zeabur 的应用: 当你把后端代码(Node.js/Python)部署到 Zeabur 后,将 MONGO_URI 环境变量切换为 Internal 连接字符串(可在 Connection 标签页的 "Private" 部分找到)。
    • 为什么? 内网连接更快,并且不会计入公网带宽用量。