You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask虚拟环境连接MongoDB遇pymongo.ConfigurationError错误求助

Flask连接MongoDB时DNS查询错误的解决方法

问题详情

在Flask虚拟环境中连接MongoDB时触发错误:

pymongo.errors.ConfigurationError: The DNS query name does not exist:

使用版本:

  • Python 3.7
  • dnspython 2.2.1

连接代码:

def establish_connection():
    app = flask.Flask(__name__)
    connection_string = "mongodb+srv://username:password@clustername.mongodb.net/?retryWrites=true&w=majority"
    app.config["MONGO_URI"] = connection_string
    mongodb_client = PyMongo(app)

解决步骤

  • 核对集群名称拼写:确认连接字符串中的clustername与MongoDB Atlas控制台的实际集群名称完全一致,拼写错误是最常见的诱因。
  • 检查网络连通性:部分内网环境会屏蔽MongoDB的DNS解析或端口,切换到公共网络测试是否能正常解析集群地址。
  • 验证Atlas IP白名单:若使用MongoDB Atlas托管服务,需将当前机器IP添加到Atlas的IP白名单中,未授权的IP会触发连接失败,可能间接表现为DNS错误。
  • 调整dnspython版本:Python 3.7与dnspython 2.2.1可能存在兼容问题,尝试降级到2.1.0版本,执行命令:pip install dnspython==2.1.0
  • 确认连接字符串格式:检查srv格式的连接串是否完整,@后的集群地址、末尾参数无遗漏或多余字符。

内容的提问来源于stack exchange,提问作者Koushik J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:50:27