2

我有 python 2.7,有 pymongo 3.4

我正在尝试使用以下方法连接到 mongo atlas:

import certifi
import ssl
import os
from pymongo import MongoClient


MongoClient(
    "mongodb://Admin:<PASSWORD>@ABC-shard-00-00-XYZ:27017",
    "ABC-shard-00-01-XYZ:27017",
    "ABC-shard-00-02-XYZ:27017/dev?ssl=true&replicaSet=ABC-0&authSource=admin",
    ssl_cert_reqs=ssl.CERT_REQUIRED,
    ssl_ca_certs=certifi.where()
)

它不断失败,身份验证失败。代码 18

4

1 回答 1

7

如将PyMongo 与 MongoDB Atlas 一起使用中所述:

PyMongo v3.4.0 开始,您可以通过将MongoDB Atlas提供的连接字符串 URI传递给MongoClient来连接到MongoDB Atlas,例如:

from pymongo import MongoClient

client = MongoClient("mongodb://USER:PASSWORD@ABC-cluster-shard-00-00-XYZ.mongodb.net:27017,ABC-cluster-shard-00-01-XYZ.mongodb.net:27017,ABC-cluster-shard-00-02-XYZ.mongodb.net:27017/DATABASE?ssl=true&replicaSet=ABC-cluster-shard-0&authSource=admin")

与 MongoDB Atlas 的连接需要TLS/SSL使用 PyMongo 3.3+,您可以使用以下Python pip命令安装 PyMongo 3.3+ 和任何与 TLS/SSL 相关的依赖项:

python -m pip install pymongo[tls]
于 2017-08-08T00:34:23.220 回答