如何在 Mongoose 上将 MongoDB 连接到 Heroku?

Posted

技术标签:

【中文标题】如何在 Mongoose 上将 MongoDB 连接到 Heroku?【英文标题】:How connect MongoDB to Heroku on Mongoose? 【发布时间】:2018-01-12 14:17:58 【问题描述】:

为什么当我尝试将 MongoDB 连接到 Mongoose 上的 Heroku(在我的 node.js 应用程序中)时,如文档中所写(使用:

`var uri = 'mongodb://dbuser:dbpass@host:port/dbname';  
mongoose.connect(uri);`

)errorlog 让我使用using MongoClient.connect with auth credentials.?请有人解释一下如何在 2017 年将 MogoDB 连接到 node.js 上的 Heroku!我的应用程序(git)和错误日志: errorlog

【问题讨论】:

当然在'dbuser'和'dbpass'上我在mlab上写我的登录名和密码,在那里我创建我的db 【参考方案1】:

对于“dbuser”和“dbpass”,您必须在 mLab 上为您的数据库创建一个用户。(http://docs.mlab.com/connecting/#users) 不要使用登录凭据。

【讨论】:

ахах, там же есть кнопка 'добавить пользователя', вот я долба*б。非常感谢! 但又出错了。 MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017];也许你知道决定? 我已经尝试过您的代码,无论是连接到本地主机还是连接到 mLab,它都可以正常连接到数据库。 大声笑,我忘了git add .git push heroku master。现在可以了,谢谢【参考方案2】:

可能的解决方案清单 1) 确保在Mongolab 中为您的数据库创建userpassword

2) 在您的 Heroku 仪表板中访问 Reveal Config Vars,并将 MONGOLAB_URI 映射到您的 Mongolab 数据库 URI。

3) 您还可以通过运行在本地测试您的 Shell 中的 URI

mongo <host name>:port/database_name -u <dbuser> -p <dbpassword>

希望这可以帮助您解决问题。

【讨论】:

以上是关于如何在 Mongoose 上将 MongoDB 连接到 Heroku?的主要内容,如果未能解决你的问题,请参考以下文章

mongoose 模型连接到 mongoDB

mongoose 模型连接到 mongoDB

如何在本地连接mongoose到mongodb

在多个文件中使用 Mongoose 连接到 MongoDB

使用 mongoose 和 Fixie(Heroku 插件)连接到 mongodb

mongoose.connect 在连接到 mongodb 后不调用回调