Node.js-在Heroku上使用MongoHQ连接到MongoDB

Node.js-在Heroku上使用MongoHQ连接到MongoDB,mongodb,node.js,heroku,mongohq,Mongodb,Node.js,Heroku,Mongohq,我有一个使用Express的Node.js应用程序,它将数据存储在mongoDB(本地)中 它现在在cedar堆栈上成功地推送到heroku,服务器正在运行。我通过终端添加了mongohq插件 现在。。。如何通过mongohq将mongoDB连接到我的应用程序以开始使用它???我在网上没有看到这方面的教程。如果您能给我指出一个或让我开始在哪里添加配置,我将不胜感激 多谢 更新: 我尝试了以下方法(使用MYPASSWORD和MYDBNUMBER的实际值): 在routes.js中 var db =

我有一个使用Express的Node.js应用程序,它将数据存储在mongoDB(本地)中

它现在在cedar堆栈上成功地推送到heroku,服务器正在运行。我通过终端添加了mongohq插件

现在。。。如何通过mongohq将mongoDB连接到我的应用程序以开始使用它???我在网上没有看到这方面的教程。如果您能给我指出一个或让我开始在哪里添加配置,我将不胜感激

多谢

更新:

我尝试了以下方法(使用MYPASSWORD和MYDBNUMBER的实际值):

在routes.js中

var db = mongoose.connect('mongodb://heroku:<MYPASSWORD>@staff.mongohq.com:10049/<MYDBNUMBER>');
现在,只有根“/”GET成功。事实上,如果我尝试/page/任何东西,我都可以成功地获得一个呈现的500错误页面,该页面是我用来处理获取尚未创建的“页面”的尝试的……这对我来说似乎有点奇怪。其他所有操作都会给我一个内部服务器错误

此外,如果我去mongohq并在那里打开我的数据库,我的模型页面集合已经创建,唯一性索引已经创建,即使我无法访问页面在我的应用程序中创建或查看模型


很高兴提供任何其他信息…太难了。

我们正在使用heroku来对付MongoHQ,但在我们的案例中,我们自己创建了MongoHQ帐户,因此我们的解决方案有点不同。 现在,我们正在使用Redis插件,在这种情况下,我们使用heroku env变量连接到Redis。 创建新插件时,Heroku会添加一组环境变量,您可以通过node.js应用轻松访问这些变量:

process.env.NAME_OF_VAR
在Redis to go的情况下,var的名称是REDISTOGO_URL,因此我们的代码如下所示

process.env.REDISTOGO_URL
对于MongoHQ,env变量似乎是MongoHQ_URL

您可能需要进行一些解析。Heroku这里有一些Ruby文档,可以帮助您进行解析

关于在express应用程序中执行此操作的位置。我们正在app.js上执行所有设置,app.js是我们在应用程序中的入口点


希望这能有所帮助。

嘿,非常感谢你的输入。我将在接下来的几天内对此进行一次尝试并报告。是的,只是没有完成这件事!除了在我的主文件
mongoose.connect(process.env.MONGOHQ_URL);
和架构
mongoose.connect中添加变量之外,还有什么需要做的吗(process.env.MONGOHQ_URL)
?我做了附加组件,应用程序在本地运行。日志并没有说什么,我做任何事情时基本上都得到了500分。我得到了
内部服务器错误
对于大多数事情,除了一些我有自定义错误消息的URL会显示自定义的500视图…所以它有点工作,我很确定它不是一个好的选择访问数据库。好的,很确定这是一个路由问题,看起来我实际上可以访问数据库。这个答案很有帮助。谢谢。
process.env.NAME_OF_VAR
process.env.REDISTOGO_URL