Skip to content

MongoDB - 环境搭建

本指南涵盖了开始使用 MongoDB 的现代和推荐方法,从零安装的云选项到在 Windows、macOS 和 Linux 上的本地安装。

路径 1:最简单的开始 - MongoDB Atlas(云)

Section titled “路径 1:最简单的开始 - MongoDB Atlas(云)”

无论是初学者还是生产应用程序,最快的入门方式是使用 MongoDB Atlas,官方的托管云数据库。您可以获得一个免费的集群(free-tier cluster),非常适合学习和小型项目。

  • 无需安装: 几分钟内即可获得运行中的 MongoDB 实例。
  • 为您托管: Atlas 处理设置、备份、安全和扩展。
  • 多云支持: 可部署在 AWS、Google Cloud 或 Azure 上。
  • 包含工具: 通过 Atlas 用户界面(UI)、内置 shell 和应用程序连接字符串访问您的数据。

要开始使用,请访问 MongoDB Atlas 网站,注册并按照屏幕上的说明创建一个免费的 M0 集群。创建后,您将获得一个连接字符串,可以与 mongosh 或您的应用程序驱动程序一起使用。

如果您更喜欢在本地机器上运行 MongoDB 进行开发,请按照您操作系统的说明进行操作。您需要安装两个关键组件:MongoDB Community Server 和 MongoDB Shell (mongosh)。

  1. 前往 MongoDB Community Server 官方下载页面。
  2. 选择适用于 Windows 的 MSI 包。
  3. 运行安装程序。推荐的“完整(Complete)”设置会将 MongoDB 安装为 Windows 服务,这意味着它会在您启动计算机时自动启动。
  4. 安装程序还提供了安装 MongoDB Compass(一个有用的数据库图形用户界面(GUI))的选项。强烈建议安装它。
  5. 在安装过程中,请确保勾选“添加到系统 PATH(Add to System PATH)”选项。这允许您从任何终端运行 MongoDB 命令。

在 Linux 上安装(以 Ubuntu 为例)

Section titled “在 Linux 上安装(以 Ubuntu 为例)”

请遵循您特定 Linux 发行版的官方文档。对于最新的 Ubuntu LTS 版本,步骤如下:

# 1. 导入 MongoDB 公钥 GPG Key
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -
# 2. 为 MongoDB 创建列表文件(请查阅官方文档以获取您特定 Ubuntu 版本的说明)
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# 3. 重新加载本地包数据库
sudo apt-get update
# 4. 安装 MongoDB 包
sudo apt-get install -y mongodb-org

要启动、停止和启用 MongoDB 服务,请使用 systemd:

# 启动 MongoDB 服务
sudo systemctl start mongod
# 验证服务是否正在运行
sudo systemctl status mongod
# 使 MongoDB 在启动时自动运行
sudo systemctl enable mongod

使用 Docker 是一种极佳的跨平台方法,可以运行独立的 MongoDB 实例进行开发。

# 1. 拉取官方 MongoDB 镜像
docker pull mongo
# 2. 运行一个名为 'my-mongo-db' 的容器
docker run --name my-mongo-db -p 27017:27017 -d mongo

一旦您的服务器开始运行(在本地、Docker 中或 Atlas 上),您就可以使用 mongosh(现代命令行界面)连接到它。

# 连接到本地实例
mongosh
# 使用连接字符串连接到任何实例(例如,来自 Atlas)
mongosh "mongodb+srv://<username>:<password>@cluster0.abcde.mongodb.net/myFirstDatabase"

连接后,您可以运行命令。以下是一些基本操作:

> show dbs // 列出所有数据库
> use myNewDb // 切换到或创建一个新数据库
> show collections // 列出当前数据库中的集合
> db.stats() // 获取当前数据库的统计信息