无法连接到附加到heroku部署的MongoLab数据库

时间:2016-01-04 16:41:33

标签: node.js mongodb heroku mlab

我在heroku上使用MongoLab插件设置了一个mongodb数据库。我的部署(只是一个REST API)成功构建,但是当我访问该站点时,我在浏览器中看到的只是这个错误:

{" name":" MongoError"," message":"未授权查询heroku_2vlv3f28.tags",&#34 ; $ err":"未授权查询heroku_2vlv3f28.tags","代码":13}

我还检查过以确保在使用我的index.js文件中的mongoose进行连接时使用了正确的凭据。

我的index.js文件的连接部分是:

// Connect to MongoDB                                                                                                                                                                                      
mongoose.connect('mongodb://<MY DB USERNAME>:<MY PASSWORD>@ds027415.mongolab.com:27415/heroku_2vlv3f28');
mongoose.connection.once('open', function() {

    // Load the models.                                                                                                                                                                                    
    app.models = require('./models/index');

    // Load the routes.                                                                                                                                                                                    
    var routes = require('./routes');
    _.each(routes, function(controller, route) {
        app.use(route, controller(app, route));
    });

    console.log('Listening on port 3000...');
    server.listen(process.env.PORT || 3000);

我还尝试将?authMode=scram-sha1添加到mongoose.connect行中,我尝试过该行,因为我看到它here(它没有解决问题)

1 个答案:

答案 0 :(得分:0)

最后,您确定使用的是正确的凭据吗?如果没有,您可以使用以下方式获取数据库用户名和密码:

heroku config | grep MONGODB_URI

响应采用以下格式:

MONGOLAB_URI: mongodb://username:password@mlab.com:12345/db