- 安装 MongoDB 数据库服务器:这是你的数据存储地。
- 安装 Python 的 MongoDB 驱动程序:这是让你的 Python 代码能够与数据库服务器通信的桥梁。
第一步:安装 MongoDB 数据库服务器
在 Python 程序连接 MongoDB 之前,你必须先有一个正在运行的 MongoDB 实例,你可以选择以下两种方式之一:

Docker 安装(推荐,最简单、最干净)
如果你已经安装了 Docker,这是最推荐的方式,因为它能完美隔离环境,避免与系统本身的软件冲突。
-
拉取 MongoDB 镜像:
docker pull mongo
-
运行 MongoDB 容器: 这个命令会启动一个 MongoDB 容器,并将它的 27017 端口映射到你的本地机器上。
docker run -d -p 27017:27017 --name my-mongo mongo
-d: 后台运行容器。-p 27017:27017: 将容器的 27017 端口映射到主机的 27017 端口,MongoDB 默认使用 27017 端口。--name my-mongo: 给容器起一个名字,方便管理。
-
验证是否运行成功:
(图片来源网络,侵删)docker ps
如果看到
my-mongo容器在运行,说明安装成功。
本地安装(根据你的操作系统选择)
如果你不使用 Docker,可以直接在你的操作系统上安装。
Windows:
- 访问 MongoDB 官方下载页面。
- 选择 "Windows" 版本,下载 MSI 安装包。
- 运行安装包,按照向导进行安装。强烈建议勾选 "Install MongoDB Compass" 选项,这是一个非常好用的图形化管理工具。
- 安装完成后,MongoDB 会作为 Windows 服务自动启动。
macOS (使用 Homebrew):

- 如果你已经安装了 Homebrew,只需在终端运行:
brew install mongodb-community
- 启动 MongoDB 服务:
brew services start mongodb-community
Linux (以 Ubuntu/Debian 为例):
- 导入 MongoDB 的公钥:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
(注意:请根据官方文档检查最新的版本号和密钥)
- 创建 MongoDB 的软件源列表文件:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
- 更新包管理器并安装:
sudo apt-get update sudo apt-get install -y mongodb-org
- 启动 MongoDB 服务:
sudo systemctl start mongod
第二步:安装 Python 的 MongoDB 驱动程序
现在你的数据库服务器已经准备就绪,接下来安装 Python 的官方驱动 pymongo。
使用 pip 安装
打开你的终端或命令行工具,运行以下命令:
pip install pymongo
为了使用更高级的功能(update_one 中的 $set 操作符),你可能还需要安装 bson 包,但通常 pymongo 会自动处理这个依赖。
pip install pymongo[bson]
或者,如果只需要 bson:
pip install bson
验证安装
安装完成后,你可以通过一个简单的 Python 脚本来验证 pymongo 是否能正常连接到你在第一步中启动的 MongoDB 服务器。
创建一个名为 test_connection.py 的文件,并粘贴以下代码:
from pymongo import MongoClient
# MongoDB 默认连接字符串,格式为: mongodb://host:port/
# 如果是本地安装或 Docker,host 通常是 'localhost' 或 '127.0.0.1'
# 如果是通过 Docker 连接,确保 Docker 容器是运行的
try:
# 创建一个 MongoDB 客户端实例
client = MongoClient('mongodb://localhost:27017/')
# 连接到名为 'test_db' 的数据库
# 如果数据库不存在,MongoDB 会在第一次插入数据时自动创建
db = client['test_db']
# 连接到名为 'test_collection' 的集合
# 集合类似于关系数据库中的表
collection = db['test_collection']
# 插入一条测试数据
test_data = {"name": "Alice", "age": 30, "city": "New York"}
insert_result = collection.insert_one(test_data)
print(f"成功插入数据,ID: {insert_result.inserted_id}")
# 查询刚刚插入的数据
found_data = collection.find_one({"name": "Alice"})
print("查询到的数据:", found_data)
# 关闭连接
client.close()
print("连接和操作成功!")
except ConnectionFailure as e:
print(f"无法连接到 MongoDB: {e}")
except Exception as e:
print(f"发生错误: {e}")
如何运行这个脚本?
- 确保你的 MongoDB 服务器正在运行(无论是通过 Docker 还是本地服务)。
- 在终端中,使用 Python 运行这个脚本:
python test_connection.py
如果一切正常,你应该会看到类似以下的输出:
成功插入数据, ID: 63f8b3e1a1b2c3d4e5f6a7b8
查询到的数据: {'_id': ObjectId('63f8b3e1a1b2c3d4e5f6a7b8'), 'name': 'Alice', 'age': 30, 'city': 'New York'}
连接和操作成功!
| 步骤 | 操作 | 关键命令/工具 |
|---|---|---|
| 安装数据库 | Docker (推荐) | docker pull mongodocker run -d -p 27017:27017 --name my-mongo mongo |
| 本地安装 | 访问官网下载或使用 brew install / apt-get install |
|
| 安装驱动 | 使用 pip | pip install pymongo |
| 验证连接 | 运行测试脚本 | 创建 test_connection.py 并用 python 运行 |
完成以上步骤后,你就可以开始在 Python 中使用 MongoDB 了,你可以进一步学习 pymongo 的更多功能,如查询、更新、删除、索引等。
