如何解决python+flask+mongodb ServerSelectionTimeoutError?
How to solve python+flask+mongodb ServerSelectionTimeoutError?
我是 mondodb 的新手。我已经安装了 mongodb 并且它在终端中运行良好。
但是当我通过 Flask 应用程序连接时。它抛出 ServerSelectionTimeoutError 错误。可能是什么问题?
import datetime
import os
import urllib
import pymongo
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = True
config = {
"username": "vishesh",
"password": "Test@123",
"server": "mongo",
}
connector = "mongodb://{}:{}@{}".format(urllib.parse.quote(config['username']), urllib.parse.quote(config['password']), urllib.parse.quote(config['server']))
client = pymongo.MongoClient(connector)
db = client.get_database('alertme')
@app.route('/')
def hello():
print(db.alerts.find()) ## Returns: <pymongo.cursor.Cursor object at 0x7f7eb2190c10>
blah = list(db.alerts.find())
return blah
if __name__ == '__main__':
port = int(os.environ.get('PORT', 5000))
app.run(port = port)
错误:
问题可能是你没有连接到数据库,可能是你没有按正确的顺序和正确的变量插入所有变量?
例如,当 MongoDB 客户端收到格式 {}:{}
第二个 {} 应代表端口(通常为 27017),第一个 {} 是 ip,因此最终结果应如下所示:
client = MongoClient("mongodb://%s:%d" % (config["address"], 27017),
username=config["username"],
password=config["password"])
我是 mondodb 的新手。我已经安装了 mongodb 并且它在终端中运行良好。
但是当我通过 Flask 应用程序连接时。它抛出 ServerSelectionTimeoutError 错误。可能是什么问题?
import datetime
import os
import urllib
import pymongo
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = True
config = {
"username": "vishesh",
"password": "Test@123",
"server": "mongo",
}
connector = "mongodb://{}:{}@{}".format(urllib.parse.quote(config['username']), urllib.parse.quote(config['password']), urllib.parse.quote(config['server']))
client = pymongo.MongoClient(connector)
db = client.get_database('alertme')
@app.route('/')
def hello():
print(db.alerts.find()) ## Returns: <pymongo.cursor.Cursor object at 0x7f7eb2190c10>
blah = list(db.alerts.find())
return blah
if __name__ == '__main__':
port = int(os.environ.get('PORT', 5000))
app.run(port = port)
错误:
问题可能是你没有连接到数据库,可能是你没有按正确的顺序和正确的变量插入所有变量? 例如,当 MongoDB 客户端收到格式 {}:{} 第二个 {} 应代表端口(通常为 27017),第一个 {} 是 ip,因此最终结果应如下所示:
client = MongoClient("mongodb://%s:%d" % (config["address"], 27017),
username=config["username"],
password=config["password"])