我很难使用 pymongo 驱动程序从 mongodb 数据库中获取一些数据。我不断收到以下错误:
pymongo.errors.ServerSelectionTimeoutError: SSL handshake failed: ac-mtxrap4-shard-00-01.vfg8vpd.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1007),SSL handshake failed: ac-mtxrap4-shard-00-00.vfg8vpd.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1007),SSL handshake failed: ac-mtxrap4-shard-00-02.vfg8vpd.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1007), Timeout: 30s, Topology Description: <TopologyDescription id: 64f0dc87584d8256bd425707, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('ac-mtxrap4-shard-00-00.vfg8vpd.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: ac-mtxrap4-shard-00-00.vfg8vpd.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1007)')>, <ServerDescription ('ac-mtxrap4-shard-00-01.vfg8vpd.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: ac-mtxrap4-shard-00-01.vfg8vpd.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1007)')>, <ServerDescription ('ac-mtxrap4-shard-00-02.vfg8vpd.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('SSL handshake failed: ac-mtxrap4-shard-00-02.vfg8vpd.mongodb.net:27017: [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1007)')>]>
我使用linux ubuntu 22.04。 Python 版本 3.10.12 和 pymongo 版本 4.5.0
from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi
from pymongo import database
from credentials import mongoDB_uri
import json
from bson import json_util
client = MongoClient(mongoDB_uri, server_api=ServerApi('1'))
class mongoDB:
def __init__(self, client=client):
self.client = client
def getImageMetadata(self):
db = database.Database(client=self.client, name="productimagedata")
cl = db.get_collection(name="images")
imageMetaData = []
for obj in cl.find():
imageMetaData.append(obj)
return json.loads(json_util.dumps(imageMetaData))
这是我的代码以防万一,但我几乎 100% 确定这不是我的脚本的问题。
我还必须提到,就在几天前,我的代码还运行得很好。
在谷歌上我找不到任何可行的相关解决方案。 我试过:
好奇是否有人以前遇到过此类错误并可以帮助解决。
我之前也遇到过这种错误,请确保您的计算机上没有运行任何VPN。此外,检查 mongoDB atlas 网络设置,检查您的 IP 是否被允许。有时,这个错误显然没有任何原因发生,就像我的情况一样,但如果你稍后再尝试,它就不会发生。