跳到主要内容

MongoDB 安装与配置

本章将介绍如何在不同平台上安装 MongoDB,包括本地安装和云端 Atlas 服务。

安装方式选择

MongoDB 提供多种安装方式:

安装方式适用场景特点
MongoDB Atlas(云端)学习、快速原型免费额度、零维护
Docker 容器开发环境快速部署、跨平台
本地安装生产环境完全控制、离线可用

方式一:使用 MongoDB Atlas(推荐)

MongoDB Atlas 是官方提供的云数据库服务,提供免费额度,非常适合学习。

注册账号

  1. 访问 MongoDB Atlas
  2. 点击 "Start Free" 按钮
  3. 使用邮箱注册账号

创建免费集群

具体步骤:

  1. 登录后,点击 "Create" 创建新集群
  2. 选择 "Free" 套餐(M0)
  3. 选择云服务商(AWS/Google Cloud/Azure)和区域
  4. 设置集群名称,点击 "Create Cluster"

配置数据库用户

创建集群后,需要设置数据库访问用户:

  1. 点击 "Database" -> "Access" -> "Add New Database User"
  2. 设置用户名和密码(记住这些凭据,后续会用到)
  3. 选择权限(建议选择 "Read and Write to any database")

配置网络访问

默认情况下,Atlas 禁止所有外部 IP 访问。需要添加允许的 IP:

  1. 点击 "Network Access" -> "Add IP Address"
  2. 选择 "Allow Access from Anywhere" (0.0.0.0/0) 用于开发环境
  3. 点击 "Confirm"

获取连接字符串

  1. 点击 "Database" -> "Connect"
  2. 选择 "Drivers"
  3. 复制连接字符串,格式类似:
    mongodb+srv://<username>:<password>@cluster0.mongodb.net/test
  4. <username><password> 替换为创建的数据库用户名和密码

使用 mongosh 连接

安装 MongoDB Shell 后,可以使用以下命令连接:

# 使用连接字符串
mongosh "mongodb+srv://cluster0.mongodb.net/test" --username your_username

# 连接后输入密码

方式二:Docker 安装

对于开发环境,使用 Docker 可以快速搭建 MongoDB。

安装 Docker

首先确保已安装 Docker Desktop(Windows/Mac)或 Docker Engine(Linux)。

启动 MongoDB 容器

# 拉取最新 MongoDB 镜像
docker pull mongo:latest

# 启动 MongoDB 容器
docker run -d \
--name mongodb \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin123 \
mongo

# 查看运行状态
docker ps

参数说明

参数说明
-d后台运行
--name容器名称
-p端口映射(主机端口:容器端口)
-e环境变量(设置管理员账号密码)

使用 Docker Compose

创建 docker-compose.yml 文件:

version: '3.8'

services:
mongodb:
image: mongo:latest
container_name: mongodb
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: admin123
volumes:
- mongodb_data:/data/db

volumes:
mongodb_data:

启动服务:

docker-compose up -d

连接本地 MongoDB

# 使用 Docker 时,本地连接
mongosh "mongodb://localhost:27017" --username admin
# 然后输入密码 admin123

方式三:本地安装(Windows)

下载 MongoDB

  1. 访问 MongoDB Download Center
  2. 选择:
    • Version: 最新稳定版
    • Platform: Windows
    • Package: MSI

安装步骤

  1. 运行下载的 .msi 文件
  2. 选择 "Complete" 安装类型
  3. 取消勾选 "Install MongoDB Compass"(可选)
  4. 等待安装完成

配置环境变量

  1. 打开系统属性 -> 高级 -> 环境变量
  2. 在系统变量中找到 "Path",点击编辑
  3. 添加 MongoDB 安装路径(默认:C:\Program Files\MongoDB\Server\<版本>\bin
  4. 点击确定保存

启动 MongoDB 服务

# 创建数据目录
mkdir C:\data\db

# 启动 MongoDB 服务
mongod

# 或者使用配置文件启动
mongod --config C:\Program Files\MongoDB\Server\<版本>\mongod.cfg

连接 MongoDB

打开新的命令行窗口:

mongosh

方式四:本地安装(Linux)

Ubuntu/Debian

# 导入 MongoDB 公钥
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add -

# 添加 MongoDB 源
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

# 更新包列表
sudo apt update

# 安装 MongoDB
sudo apt-get install -y mongodb-org

# 启动 MongoDB
sudo systemctl start mongod

# 设置开机自启
sudo systemctl enable mongod

CentOS/RHEL

# 创建 yum 仓库文件
cat > /etc/yum.repos.d/mongodb-org-7.0.repo << 'EOF'
[mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
EOF

# 安装 MongoDB
sudo yum install -y mongodb-org

# 启动 MongoDB
sudo systemctl start mongod

# 设置开机自启
sudo systemctl enable mongod

MongoDB Shell (mongosh) 使用

mongosh 是 MongoDB 的交互式 JavaScript Shell,是学习和测试 MongoDB 的最佳工具。

基本命令

// 查看所有数据库
show dbs

// 切换数据库
use mydb

// 查看当前数据库的集合
show collections

// 查看帮助
help

// 退出
exit

常用操作示例

// 插入文档
db.users.insertOne({ name: "张三", age: 25 })

// 查询文档
db.users.find()

// 更新文档
db.users.updateOne({ name: "张三" }, { $set: { age: 26 } })

// 删除文档
db.users.deleteOne({ name: "张三" })

MongoDB Compass(可视化工具)

MongoDB Compass 是官方提供的图形化工具,适合不熟悉命令行的用户。

功能特点

  • 可视化查询构建器
  • 实时性能监控
  • 索引管理
  • 数据导入导出

下载安装

访问 MongoDB Compass 下载页面 下载对应操作系统的版本。

连接 MongoDB

  1. 打开 Compass
  2. 输入连接字符串
  3. 点击 "Connect"

对于本地 MongoDB,使用:mongodb://localhost:27017

验证安装

无论使用哪种安装方式,都可以通过以下方式验证:

// 在 mongosh 中执行
db.adminCommand({ ping: 1 })

返回 { ok: 1 } 表示连接成功。

小结

本章我们学习了:

  1. MongoDB Atlas 云端部署(推荐学习使用)
  2. Docker 容器化部署
  3. Windows 本地安装
  4. Linux 本地安装
  5. mongosh 和 Compass 客户端工具

下一步

下一章我们将学习 MongoDB 的核心概念:数据库、集合和文档。