【问题标题】:How to solve python+flask+mongodb ServerSelectionTimeoutError?python+flask+mongodb ServerSelectionTimeoutError如何解决?
【发布时间】:2021-05-25 07:28:01
【问题描述】:

我是 mondodb 的新手。我已经安装了 mongodb,它在终端中运行良好。

但是当我通过烧瓶应用程序连接时。它会引发 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)

错误:

【问题讨论】:

    标签: python mongodb flask pymongo


    【解决方案1】:

    问题可能是您未能连接到数据库可能是您没有以正确的顺序和正确的变量插入所有变量吗? 例如,当 MongoDB 客户端接收格式 {}:{} 第二个 {} 应该代表端口(通常是 27017),第一个 {} 是 ip,所以最终结果应该如下所示:

    client = MongoClient("mongodb://%s:%d" % (config["address"], 27017),
                                          username=config["username"],
                                          password=config["password"])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2021-12-20
      • 1970-01-01
      • 2018-02-12
      • 2022-01-03
      相关资源
      最近更新 更多