python - MongoDB Atlas 连接在 Heroku 上不起作用

标签 python mongodb heroku discord.py mongodb-atlas

我正在为服务器创建一个discord.py 机器人。我一直在寻找免费的VPS,并且找到了一个Heroku。我学会了如何使用它,并托管了我的另一个机器人几个小时。然后我使用 MongoDB Atlas 数据库创建了另一个机器人。问题是,当我想使用必须使用数据库的命令时,它不起作用并且会发送错误。其他命令有效

我做了一些研究,但在一些论坛上,他们说如果不提供信用卡详细信息就不可能,有些人说这是可能的,但没有说明如何实现。

这是我从heroku日志中得到的错误:

Traceback (most recent call last):
2019-07-25T19:08:37.808124+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/discord/ext/commands/bot.py", line 863, in invoke
2019-07-25T19:08:37.808126+00:00 app[worker.1]:     await ctx.command.invoke(ctx)
2019-07-25T19:08:37.808132+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/discord/ext/commands/core.py", line 728, in invoke
2019-07-25T19:08:37.808133+00:00 app[worker.1]:     await injected(*ctx.args, **ctx.kwargs)
2019-07-25T19:08:37.808134+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/discord/ext/commands/core.py", line 88, in wrapped
2019-07-25T19:08:37.808136+00:00 app[worker.1]:     raise CommandInvokeError(exc) from exc
2019-07-25T19:08:37.808165+00:00 app[worker.1]: discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ServerSelectionTimeoutError: connection closed,connection closed,connection closed

最佳答案

如果您仅将本地 IP 列入白名单,则可能会出现此问题。牺牲安全性的一个简单解决方法是将 MongoDB Atlas 集群中的任何 IP (0.0.0.0/0) 列入白名单。或者您可以使用 VPC 对等互连。

关于python - MongoDB Atlas 连接在 Heroku 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57215356/

相关文章:

python - 检查 sitecustomize 中的 python 交互模式

python postgres游标时间戳问题

mongodb - 使用 ReactiveMongo 处理来自上限集合的作业直到被中断

mongodb - Go mongodb驱动程序忽略聚合中的管道

heroku - AddStackExchangeRedisCache和heroku Redis连接字符串

ruby - "no such file to load -- net/https"- Heroku、 ruby 、Ubuntu 10.04

node.js - 简单的 node.js 套接字服务器

python - 在 django 中迭代查询集时创建新表

python - django-eav 和南方

macos - 无法使用 mongo 命令,显示在 mac 上找不到命令