Docs 菜单

PyMongo 入门

PyMongo 是一个 Python 包,可用于连接到 MongoDB 并与之通信。 本指南向您展示如何创建一个使用PyMongo 连接到MongoDB cluster 上托管的MongoDB Atlas 的应用程序。

提示

MongoDB Atlas 是完全托管的云数据库服务,旨在托管您的 MongoDB 部署。您可以按照本指南中的步骤创建您的免费(无需信用卡)MongoDB Atlas 部署。

按照本指南将示例 Python 应用程序连接到 MongoDB Atlas 部署。 如果您希望使用不同的驱动程序或编程语言连接 MongoDB,请参阅我们的官方驱动程序列表。

注意

替代安装方法

以下步骤向您展示如何使用pip安装PyMongo。要从源代码安装PyMongo,请参阅API文档中的从源代码安装

1

确保在开发环境中安装了以下依赖项:

2

在 shell 中,运行以下命令为此项目创建一个名为 pymongo-quickstart 的目录:

mkdir pymongo-quickstart

选择与操作系统对应的标签页并运行以下命令,在pymongo-quickstart目录中创建quickstart.py应用程序文件:

cd pymongo-quickstart
touch quickstart.py
cd pymongo-quickstart
type nul > quickstart.py
3

选择与操作系统相对应的标签页,然后运行以下命令,创建并激活用于安装驾驶员的虚拟环境:

python3 -m venv venv
source venv/bin/activate
python3 -m venv venv
. venv\Scripts\activate

激活虚拟环境后,运行以下命令安装当前版本的 PyMongo:

python3 -m pip install pymongo

完成这些步骤后,您就拥有了一个新的项目目录并安装了驱动程序依赖项。

您可以在MongoDB Atlas上创建免费套餐的MongoDB 部署来存储和管理数据。 MongoDB Atlas在云中托管和管理MongoDB 数据库。

1

请按照 Atlas 入门指南中的步骤,设置新的 Atlas 账户并将示例数据加载到新的免费套餐 MongoDB 部署中。

2

创建数据库用户后,请将该用户的用户名和密码保存在一个安全位置,以便在后续步骤中使用。

完成这些步骤后,您就可以在 Atlas 上有一个新的免费套餐 MongoDB 部署,并建立数据库用户凭证,以及将示例数据加载到数据库中。

您可以通过提供连接 URI(也称为连接字符串)来连接到 MongoDB 部署,它指示驱动程序如何连接到 MongoDB 部署以及连接时的行为方式。

连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。

要连接到未托管在 Atlas 上的实例或部署,请参阅选择连接目标。

1

要检索您在上一步中创建的部署的连接字符串,日志登录您的Atlas帐户并导航到Database部分,然后单击新部署的Connect按钮。

The connect button in the clusters section of the Atlas UI

进入 Connect your application 部分,从 Driver 选择菜单中选择“ Python ”,然后从 Version 选择菜单中选择与您安装的版本最匹配的版本。

选择Password (SCRAM)身份验证机制。

取消选择Include full driver code example选项以查看连接字符串。

2

单击连接字符串右侧的按钮以将其复制到剪贴板,如以下屏幕截图所示:

The connection string copy button in the Atlas UI
3

将此连接字符串粘贴到您首选文本编辑器中的文件中,并将<username><password>占位符替换为数据库用户的用户名和密码。

将此文件保存到安全位置,以便在下一步中使用。

完成这些步骤后,您将拥有一个包含数据库用户名和密码的连接字符串。

1

将以下代码复制并粘贴到应用程序的quickstart.py文件中:

from pymongo import MongoClient
uri = "<connection string URI>"
client = MongoClient(uri)
try:
database = client.get_database("sample_mflix")
movies = database.get_collection("movies")
# Query for a movie that has the title 'Back to the Future'
query = { "title": "Back to the Future" }
movie = movies.find_one(query)
print(movie)
client.close()
except Exception as e:
raise Exception("Unable to find the document due to the following error: ", e)
2

<connection string URI> 占位符替换为从本指南的“创建连接字符串”步骤中复制的连接字符串。

3

在 shell 中,运行以下命令,启动此应用程序:

python3 quickstart.py

输出结果包括检索到的影片文档的详细信息:

{
_id: ...,
plot: 'A young man is accidentally sent 30 years into the past...',
genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ],
...
title: 'Back to the Future',
...
}

提示

如果遇到错误或看不到输出,请检查是否指定了正确的连接string ,以及是否加载了示例数据。

完成这些步骤后,您有一个正常运行的应用程序,它使用驱动程序连接到 MongoDB 部署、对示例数据运行查询并打印结果。

恭喜您完成本教程!

在本教程中,您创建了一个 Python 应用程序,该应用程序连接到 MongoDB Atlas 上托管的 MongoDB 部署,并检索与查询匹配的文档。

通过以下资源了解有关 PyMongo 的更多信息:

注意

如果您在该步骤中遇到问题,请在 MongoDB Community 论坛中寻求帮助,或使用本页右侧或右下角的 Rate this page 标签页提交反馈。