Node.js 将我的网站上载到heroku时使用mongoose.connect

Node.js 将我的网站上载到heroku时使用mongoose.connect,node.js,mongodb,heroku,mongoose,npm,Node.js,Mongodb,Heroku,Mongoose,Npm,我已经安装了node.js npm mongodb和mongoose来创建一个带有数据库的网站。在本地,我使用mongoose.connect(mongodb://localhost/test)没有问题。一切正常 然而,当我尝试在heroku中托管此站点时,我收到一个错误,即“无法连接到本地主机”。我知道我需要更改mongodb uri。我已将我的项目文件上载到github 我不确定uri需要如何更改。非常感谢您的支持。Heroku不允许您在应用程序中使用MongoDB,您需要使用MongoLa

我已经安装了node.js npm mongodb和mongoose来创建一个带有数据库的网站。在本地,我使用mongoose.connect(mongodb://localhost/test)没有问题。一切正常

然而,当我尝试在heroku中托管此站点时,我收到一个错误,即“无法连接到本地主机”。我知道我需要更改mongodb uri。我已将我的项目文件上载到github


我不确定uri需要如何更改。非常感谢您的支持。

Heroku不允许您在应用程序中使用MongoDB,您需要使用MongoLab或其他Heroku插件来完成这项工作。

我明白您的意思。要在应用程序中使用您创建的数据库, 用以下代码段替换连接到本地主机的mongouri。 我最近创建了一个单独的MongoLab帐户,在其中创建了我的数据库,然后选择URI连接到它。您可以愉快地按原样使用此代码,并在Heroku中托管您的应用程序。它不会阻止你。祝你一切顺利。

mongoose=require('mongoose');
var mongouri='mongodb://:@[mongabuniquevalue]/[your db name];
mongoose.connect(蒙古里);
//使用仪表板中的“用户”选项卡以及为其设置的密码创建
请看我的仪表板上的下图。希望这有帮助


根据我所做的所有阅读资料,为了使用mongodb,我需要使用mongolab或其他附加组件。这是唯一可行的方法吗?MongoDB本身是一个独立的服务,而不是应用程序的一部分。您需要在某个地方连接到它,它将不会在本地主机上启动。Heroku deploments仅用于应用程序。您需要另一台主机来运行MongoDB实例。您能给我一些建议,让我知道在哪里可以运行我的MongoDB数据库吗?非常感谢您的回复。我尝试不使用Mongolab,而是尝试在AmazonEC2中托管数据库。嗨,安妮,如果你已经找到了作为答案的帖子,你能将其标记为答案吗?
mongoose = require('mongoose');
var mongouri = 'mongodb://<dbuser>:<dbpassword>@[mongolabuniquevalue]/[your-db-name]';
mongoose.connect(mongoUri);

//<dbuser> is created using the Users tab in the dashboard  along with a password that you set for <dbpassword>