蒙加布拒绝联系

2024-10-01 15:40:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个Python程序,它将数据提交给mongaab,我遇到了一个奇怪的异常:

mongoengine.connection.ConnectionError: Cannot connect to database mongodb://<user>:
<password>@ds035617.mongolab.com:35617/<mydatabase>:
could not connect to localhost:27017: [Errno 10061] No connection could be made
because the target machine actively refused it

以下是违规代码:

^{pr2}$

有人知道怎么回事吗?在


Tags: to数据程序mongodbconnectpasswordconnectiondatabase
3条回答

我通常认为回答自己的问题是不恰当的,但我找到了(相当简单)答案,并希望将其记录下来,以确保其他人也能得到答案。在

问题没有在connect函数中将host=指定为关键字参数。正确的函数调用是:

from mongoengine import *
connect('tablename', host="mongodb://<user>:<password>@ds035617.mongolab.com:35617/<mydatabase>")

我要检查几件事:

(1)为什么错误消息说系统正在尝试连接到本地主机:27017。。。?在

(2)为什么您的mongodb URI有“user”和“password”,而真正的用户名和密码应该是?在

我猜问题是(2)除非你为了这篇文章而模糊了用户名和密码。在

如果你仍然有问题的电子邮件support@mongaab.com我们可以和你一起深入挖掘。在

-威尔

看起来您正在使用MongoDB URI进行连接,但驱动程序将字符串解释为数据库名称并尝试连接到默认值本地主机:27017。根据您要将该URI作为主机参数传入的mongoengine docs


只要包含数据库名称,也支持Uri样式的连接-只需将Uri作为主机提供给connect():

connect('project1', host='mongodb://localhost/database_name')

相关问题 更多 >

    热门问题