vat*_*lay 7 python mongodb pymongo flask
我正在使用 Flask-PyMongo 将我的 Flask 应用程序连接到 mongodb 图集,但出现此错误。
“dns.exception.Timeout:DNS 操作在 30.000985383987427 秒后超时”
之后它说:在处理上述异常期间,发生了另一个异常:
“pymongo.errors.ConfigurationError:DNS 操作在 30.000985383987427 秒后超时”
这是代码:
from flask import Flask
from flask_pymongo import PyMongo
app = Flask(__name__)
app.config['MONGO_DBNAME'] = 'FirstCluster'
app.config['MONGO_URI'] = 'mongodb+srv://username:password@firstcluster-bblvc.mongodb.net/test?retryWrites=true'
mongo = PyMongo(app)
@app.route('/connect')
def connect_to_mongo():
return 'Connecting to Mongodb'
@app.route('/collections')
def adding():
user = mongo.db.users
user.insert({'name' : 'vatsalay'})
return 'Added User!'
if __name__ == '__main__':
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
尝试使用不同的连接字符串。我在使用 3.6 或更高版本的字符串时遇到了问题。只需使用 3.4 或更高版本的字符串即可立即连接。
如果您坚持使用较新的连接字符串,则需要安装 pymongo srv
对于 Windows
pip install pymongo[srv]
Run Code Online (Sandbox Code Playgroud)
对于 Mac
pip3 install pymongo[srv]
Run Code Online (Sandbox Code Playgroud)
在 zsh 上
pip3 install 'pymongo[srv]'
Run Code Online (Sandbox Code Playgroud)
小智 1
有同样的问题,它通过将我的 DNS 从自动更改为“8.8.8.8”对我有用。如何?如果您使用的是 Windows,请执行以下操作
正如 Neil Lunn 所说,检查允许的 ip