node.js - 无法连接到附加到heroku部署的MongoLab数据库

标签 node.js mongodb heroku mlab

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

{"name":"MongoError","message":"未授权查询heroku_2vlv3f28.tags","$err":"未授权查询heroku_2vlv3f28.tags","code":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 (它没有解决问题)

最佳答案

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

heroku 配置 | grep MONGODB_URI

响应的格式如下:

MONGOLAB_URI:mongodb://用户名:密码@mlab.com:12345/db

关于node.js - 无法连接到附加到heroku部署的MongoLab数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34595747/

相关文章:

ruby-on-rails - Ruby on Rails - Puma on_worker_boot 与 redis 连接

python - 在 Django Heroku 应用程序中使用 print() 日志记录将信息记录到 Papertrail 的好处

javascript - 如何在 nodejs Linux 上判断/更改 javascript 的版本

javascript - 如何将大量文本发送到可编辑的 ="true"元素中?

c# - 将 BSON 转换为有效的 JSON

deployment - 从 git repo 的子目录在 Heroku 上部署 Play 应用程序

node.js - 只要存在数据库调用,AWS Lambda 函数就会导致超时

javascript - Sequelize - 更新查询并返回 : true succeeds but returns undefined

mongodb - 如何更改官方mongo docker进行身份验证和数据分离?

javascript - feathersjs中request entity too large错误如何解决?