提供mongoengine节点名称或服务名称,或者不知道

时间:2017-11-05 07:29:34

标签: python mongodb mongoengine flask-mongoengine

我正在尝试连接到我的heroku mongo数据库。 我的连接网址如下所示

我已在下面的示例中替换了我的实际用户名/密码。

mongodb://username:password@ds135522.mlab.com:35522/heroku_brpg2n9r

然后我的配置设置如下:

mongo_uri = os.environ.get('MONGOLAB_URI')

if mongo_uri:

        MONGODB_SETTINGS = {
            'db': mongo_uri.split('/')[-1],
            'host': mongo_uri
        }
    else:
        MONGODB_SETTINGS = {
            'db': 'local',
            'host': '127.0.0.1'
        }

然后我导出MONGOLAB_URI=mongodb://username:password@ds135522.mlab.com:35522/heroku_brpg2n9r

当我尝试连接数据库时,它给出了以下错误:

ServerSelectionTimeoutError: heroku_brpg2n9r:27017: [Errno 8] nodename nor servname provided, or not known

1 个答案:

答案 0 :(得分:0)

看起来它与我的mongoengine版本有关。 我安装了这些模块,它开始按预期工作:

flask-mongoengine==0.7
mongoengine==0.8.7
pymongo==2.8.1