use*_*190 2 mongodb pymongo python-2.7 mongodb-atlas
我有 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()
)
Run Code Online (Sandbox Code Playgroud)
它不断失败,身份验证失败。代码 18
如在MongoDB Atlas中使用 PyMongo 中所述:
由于PyMongo v3.4.0,可以连接到的MongoDB阿特拉斯通过将字符串URI连接提供通过MongoDB的Atlas以MongoClient,例如:
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")
Run Code Online (Sandbox Code Playgroud)
与 MongoDB Atlas 的连接需要TLS/SSL。使用 PyMongo 3.3+,您可以使用以下Python pip命令安装 PyMongo 3.3+ 和任何与 TLS/SSL 相关的依赖项:
python -m pip install pymongo[tls]
Run Code Online (Sandbox Code Playgroud)