文档菜单

文档首页开发应用程序Python 驱动程序PyMongo

连接到 MongoDB

本页内容

  • 概述
  • 示例应用程序
  • 连接
  • 本地部署
  • Atlas
  • 副本集
  • 传输层安全 (TLS)
  • 启用 TLS
  • 指定证书颁发机构 (CA) 文件
  • 禁用 OCSP 检查
  • 指定证书吊销列表 (CRL)
  • 提供客户端证书
  • 提供证书密钥文件密码
  • 允许不安全的 TLS
  • 禁用证书验证
  • 禁用主机名验证
  • 网络压缩
  • 压缩算法
  • zlib 压缩级别
  • 服务器选择
  • 稳定的 API
  • 限制服务器执行时间
  • timeout 块
  • timeoutMS 连接选项

此页面包含代码示例,展示了如何使用各种设置将您的 Python 应用程序连接到 MongoDB。

提示

要了解更多关于本页面的连接选项,请参阅每个部分提供的链接。

要使用本页面的连接示例,请将代码示例复制到示例应用程序或您自己的应用程序中。请确保用您 MongoDB 部署的相关值替换代码示例中的所有占位符,例如<hostname>

您可以使用以下示例应用程序来测试本页上的代码示例。要使用示例应用程序,请执行以下步骤

  1. 确保已安装 PyMongo。

  2. 复制以下代码并将其粘贴到一个新的 .py 文件中。

  3. 从本页复制一个代码示例并将其粘贴到文件中的指定行。

1from pymongo import MongoClient
2
3try:
4 # start example code here
5
6 # end example code here
7
8 client.admin.command("ping")
9 print("Connected successfully")
10
11 # other application code
12
13 client.close()
14
15except Exception as e:
16 raise Exception(
17 "The following error occurred: ", e)
uri = "mongodb://localhost:27017/"
client = MongoClient(uri)
uri = "<Atlas connection string>"
client = MongoClient(uri, server_api=pymongo.server_api.ServerApi(
version="1", strict=True, deprecation_errors=True))
uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>"
client = MongoClient(uri)

有关启用 TLS 的更多信息,请参阅 TLS 配置指南中的启用 TLS

有关指定 CA 文件的更多信息,请参阅 TLS 配置指南中的指定 CA 文件

有关禁用 OCSP 检查的更多信息,请参阅 TLS 配置指南中的OCSP

有关指定 CRL 的更多信息,请参阅 TLS 配置指南中的证书吊销列表

有关指定客户端证书的更多信息,请参阅 TLS 配置指南中的提供客户端证书

有关提供密钥文件密码的更多信息,请参阅 TLS 配置指南中的提供密钥密码

有关允许不安全 TLS 的更多信息,请参阅 TLS 配置指南中的允许不安全的 TLS

要了解更多关于禁用证书验证的信息,请参阅 TLS 配置指南中的允许不安全 TLS

要了解更多关于禁用主机名验证的信息,请参阅 TLS 配置指南中的允许不安全 TLS

要了解更多关于指定压缩算法的信息,请参阅网络压缩指南中的指定压缩算法

要了解更多关于设置 zlib 压缩级别的信息,请参阅网络压缩指南中的指定压缩算法

client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>",
server_selector=<selector function>)

要了解更多关于自定义服务器选择的信息,请参阅自定义服务器选择

from pymongo.server_api import ServerApi
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname:<port>",
server_api=ServerApi("<Stable API version>"))

要了解更多关于稳定 API 的信息,请参阅稳定 API

with pymongo.timeout(<timeout length>):
# perform operations here

要了解更多关于客户端超时的信息,请参阅限制服务器执行时间

要了解更多关于客户端超时的信息,请参阅限制服务器执行时间

← 下一步