目录
-
(图片来源网络,侵删)- 1 下载 MongoDB
- 2 安装 MongoDB
- 3 配置环境变量
- 4 初始化数据目录
- 5 配置文件 (
mongod.cfg) - 6 将 MongoDB 安装为 Windows 服务
- 7 验证安装
-
- 1 启动 MongoDB Shell (
mongosh) - 2 常用 Shell 命令
- 3 基本数据操作
- 1 启动 MongoDB Shell (
-
- 1 推荐工具:MongoDB Compass
- 2 安装与连接
-
- 1 安全:启用访问控制
- 2 备份与恢复
- 3 卸载 MongoDB
-
(图片来源网络,侵删)
第一部分:安装与配置
本部分将指导你完成 MongoDB 在 Windows 上的完整安装和配置过程。
1 下载 MongoDB
- 访问 MongoDB 官方下载页面:https://www.mongodb.com/try/download/community
- 选择版本(建议选择最新的稳定版 LTS 版本)。
- 平台选择 Windows。
- 包类型选择 msi (这是标准的 Windows 安装程序,推荐新手使用)。
- 处理器架构选择 x64 (如果你的系统是 64 位)。
- 点击 Download 按钮,你可能需要免费注册一个 MongoDB 账户才能下载。
2 安装 MongoDB
- 找到你下载的
.msi文件,双击运行。 - 欢迎界面,点击 Next。
- LICENSE AGREEMENT (许可协议):勾选 "I accept the terms in the License Agreement",然后点击 Next。
- Setup Type (安装类型):
- Complete (完全安装):推荐选择此选项,它会自动安装所有组件,包括 MongoDB Server, Compass, 和 Tools。
- Custom (自定义安装):如果你想更改安装路径或选择特定组件,可以选择此选项。
- 对于新手,选择 Complete 并点击 Next。
- Service Configuration (服务配置):
- 勾选 "Install MongoDB as a Windows Service" (作为 Windows 服务安装)。
- "Service Name":保持默认的
MongoDB。 - "Data Directory":这是存放你数据库数据的地方,默认是
C:\ProgramData\MongoDB\data\db,你可以自定义,但请确保路径存在且你有写入权限。 - "Log Directory":日志文件存放位置,默认是
C:\ProgramData\MongoDB\data\log。 - "Launch MongoDB Compass":勾选此项,安装完成后会自动打开 MongoDB Compass 这个强大的图形化管理工具。
- 点击 Next。
- Install (安装):确认信息无误后,点击 Install。
- 等待安装完成,点击 Finish。
3 配置环境变量
将 MongoDB 的 bin 目录添加到系统环境变量 PATH 中,这样你就可以在任意命令行窗口中直接使用 mongod 和 mongosh 命令。
- 在 Windows 搜索栏中搜索“编辑系统环境变量”,并打开它。
- 在弹出的“系统属性”窗口中,点击右下角的 “环境变量...” 按钮。
- 在“系统变量”(或“用户变量”)部分,找到名为
Path的变量,选中它,然后点击 “编辑...”。 - 在“编辑环境变量”窗口中,点击 “新建”。
- 输入 MongoDB 的
bin目录路径,默认路径是:C:\Program Files\MongoDB\Server\7.0\bin注意:请将
0替换为你实际安装的 MongoDB 版本号。 - 依次点击 “确定” 保存所有更改。
- 重要:打开一个新的命令行窗口(CMD 或 PowerShell),输入
mongod --version或mongosh --version,如果能看到版本信息,说明配置成功。
4 初始化数据目录
在第 1.2 步中,你已经在服务配置里设置了数据目录,如果你是手动配置或想确认一下,需要确保该目录存在。

以管理员身份打开命令提示符,执行以下命令(请根据你的实际路径修改):
md "C:\ProgramData\MongoDB\data\db"
5 配置文件 (mongod.cfg)
一个更专业和灵活的管理方式是使用配置文件。
- 在 MongoDB 的安装目录下(
C:\Program Files\MongoDB\Server\7.0\),创建一个名为mongod.cfg的文本文件。 - 用记事本或代码编辑器打开它,并填入以下内容,这会配置 MongoDB 监听所有网络接口(
0.0.0)并指定数据/日志路径。
systemLog: destination: file path: C:\ProgramData\MongoDB\data\log\mongod.log logAppend: true storage: dbPath: C:\ProgramData\MongoDB\data\db net: bindIp: 0.0.0.0 port: 27017
注意:确保路径与你的实际安装路径一致。
6 将 MongoDB 安装为 Windows 服务
如果你在安装时没有勾选“作为服务安装”,或者需要修改服务配置,可以手动操作。
- 以管理员身份打开命令提示符。
- 执行以下命令来安装服务,这个命令会使用你刚刚创建的
mongod.cfg文件。
"C:\Program Files\MongoDB\Server\7.0\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\7.0\mongod.cfg" --install
参数解释:
--config: 指定配置文件路径。--install: 将 MongoDB 安装为服务。
- 启动服务:
net start MongoDB
- 停止服务:
net stop MongoDB
- 卸载服务:
"C:\Program Files\MongoDB\Server\7.0\bin\mongod.exe" --remove
7 验证安装
-
确保MongoDB服务正在运行(
net start MongoDB)。 -
打开一个新的命令提示符或 PowerShell。
-
输入
mongosh并回车。 -
如果成功,你会看到类似下面的欢迎信息和
>提示符:Current Mongosh Version: 1.8.0 ... To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy). You can opt-out by running the disableTelemetry() command. --- The Node.js driver for MongoDB (v5.7.0) is deprecated since Mongosh v1.8.0 and will be removed in a future release. --- For more information, see: https://www.mongodb.com/docs/drivers/node/current/ --- Test your connection: test.runCommand({ ping: 1 }) --- Set the --shell option to control Mongosh behavior (help for details) --- To exit, type exit For help, type help --- mongosh> -
在
mongosh>提示符下,输入test.runCommand({ ping: 1 })并回车,如果返回{ ok: 1 },说明连接成功。
第二部分:基础操作与命令行界面
1 启动 MongoDB Shell (mongosh)
你已经知道了,只需在命令行中输入 mongosh 即可。
2 常用 Shell 命令
| 命令 | 描述 |
|---|---|
show dbs 或 show databases |
列出所有数据库。 |
use <database_name> |
切换到指定数据库,如果数据库不存在,在插入数据时会自动创建。 |
db |
显示当前正在使用的数据库名称。 |
show collections |
列出当前数据库中的所有集合(类似关系数据库中的表)。 |
help |
显示帮助信息。 |
exit 或 quit() |
退出 mongosh。 |
3 基本数据操作
MongoDB 使用 JSON 风格的文档来存储数据。
插入数据
向 mydb 数据库的 users 集合中插入一个文档。
// 切换到 mydb 数据库
use mydb
// 插入一个文档
db.users.insertOne({
name: "张三",
age: 30,
email: "zhangsan@example.com",
hobbies: ["reading", "hiking"]
})
// 插入多个文档
db.users.insertMany([
{ name: "李四", age: 25, city: "北京" },
{ name: "王五", age: 28, city: "上海" }
])
查询数据
// 查询 users 集合中的所有文档
db.users.find()
// 以更易读的格式显示结果
db.users.find().pretty() // (在较新版本中,find() 默认格式化,pretty() 可省略)
// 查询 name 为 "张三" 的文档
db.users.find({ name: "张三" })
// 查询 age 大于 26 的文档
db.users.find({ age: { $gt: 26 } })
// 查询 age 在 25 到 28 之间 (包含) 的文档
db.users.find({ age: { $gte: 25, $lte: 28 } })
更新数据
// 更新 name 为 "李四" 的第一个文档,将其 age 设置为 26
db.users.updateOne({ name: "李四" }, { $set: { age: 26 } })
// 更新所有 city 为 "北京" 的文档,添加一个 "isVIP" 字段
db.users.updateMany({ city: "北京" }, { $set: { isVIP: true } })
删除数据
// 删除 name 为 "王五" 的一个文档
db.users.deleteOne({ name: "王五" })
// 删除所有 age 小于 25 的文档
db.users.deleteMany({ age: { $lt: 25 } })
// 删除 users 集合中的所有文档 (慎用!)
// db.users.deleteMany({})
// 删除整个 users 集合 (慎用!)
// db.users.drop()
第三部分:使用图形化界面工具
命令行虽然强大,但图形化界面更直观,适合数据浏览和管理。
1 推荐工具:MongoDB Compass
这是 MongoDB 官方出品的免费 GUI 工具,功能非常强大,与 MongoDB Server 无缝集成。
2 安装与连接
- 安装:如果你在安装 MongoDB 时勾选了 "Launch MongoDB Compass",它应该已经自动安装并启动了,如果没有,你可以从 MongoDB Compass 官网 下载并安装。
- 连接:
- 打开 Compass。
- 主界面会提示你连接一个 MongoDB 实例。
- Host:如果你是在本机安装,默认是
localhost。 - Port:默认是
27017。 - Authentication:如果你没有设置用户名密码,可以留空,直接点击 "CONNECT"。
- 连接成功后,你就可以在图形界面中看到所有数据库、集合,并进行增删改查等所有操作,非常方便。
第四部分:进阶主题
1 安全:启用访问控制
在开发环境中,不启用认证是方便的,但在生产环境中,必须启用认证来保护你的数据。
-
创建管理员用户:
- 停止 MongoDB 服务:
net stop MongoDB - 以无认证模式启动 MongoDB,以便我们创建第一个管理员用户:打开 CMD(管理员),运行
"C:\Program Files\MongoDB\Server\7.0\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\7.0\mongod.cfg" --auth
注意:这里我们手动加上了
--auth参数,或者,你可以在mongod.cfg中添加security.authorization: enabled,然后重启服务。 - 打开另一个
mongosh,连接到admin数据库:use admin
- 创建一个 root 用户(请替换
your_username和your_password):db.createUser({ user: "your_username", pwd: "your_password", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] })userAdminAnyDatabase: 可以管理所有数据库的用户。readWriteAnyDatabase: 可以读写所有数据库的数据。
- 退出
mongosh。
- 停止 MongoDB 服务:
-
以认证模式启动服务:
- 关闭刚才手动启动的
mongod窗口。 - 将
mongod.cfg中的security部分取消注释或添加:security: authorization: enabled
- 重新启动 MongoDB 服务:
net start MongoDB
- 关闭刚才手动启动的
-
使用认证连接:
- 所有连接都需要认证。
- 在
mongosh中,使用以下命令连接:mongosh "mongodb://your_username:your_password@localhost:27017/?authSource=admin"
- 在 Compass 中,连接时需要填写 Username 和 Password。
2 备份与恢复
备份数据 (mongodump)
# 备份所有数据库到 D:\backup\db 文件夹 mongodump --out D:\backup\db # 备份指定数据库 (mydb) mongodump --db mydb --out D:\backup\mydb_backup
恢复数据 (mongorestore)
# 从备份文件夹恢复所有数据库 mongorestore --dir D:\backup\db # 恢复到指定数据库 (如果目标数据库已存在,会追加数据) mongorestore --db mydb_restored --dir D:\backup\mydb_backup
3 卸载 MongoDB
- 停止并移除服务:
net stop MongoDB "C:\Program Files\MongoDB\Server\7.0\bin\mongod.exe" --remove
- 删除程序:通过 "控制面板" -> "程序和功能" (或 "设置" -> "应用"),卸载 "MongoDB Compass" 和 "MongoDB Community Server"。
- 删除数据文件:手动删除之前配置的数据目录和日志目录,
C:\ProgramData\MongoDB。 - 从环境变量中移除:回到“编辑系统环境变量”,从
Path变量中删除 MongoDB 的bin目录路径。
总结与最佳实践
- 路径规划:安装时,将数据目录和日志目录放在非系统盘(如 D: 盘),避免占用 C 盘空间。
- 服务化:始终将 MongoDB 作为 Windows 服务运行,这样可以确保它在开机后自动启动,无需手动管理。
- 使用配置文件:
mongod.cfg是管理 MongoDB 配置的最佳方式,比命令行参数更清晰、更易于维护。 - GUI 辅助:熟练使用
mongosh的同时,强烈推荐使用 MongoDB Compass 进行日常的数据浏览和管理,效率会大大提高。 - 安全第一:在任何非开发环境中,务必启用访问控制,为数据库设置强密码。
- 定期备份:制定并执行定期的数据备份策略,以防数据丢失。
希望这份详细的教程能帮助你在 Windows 上顺利地开始使用 MongoDB!
