Node.js – 使用Heroku上的MongoHQ连接到MongoDB

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

现在它被成功地推到了heroku上,并且服务器正在运行。 我通过terminal添加了mongohq插件。

现在…我如何通过mongohq将mongoDB连接到我的应用程序开始使用它? 我在网上没有看到这个教程。 如果你可以指向我,或者让我开始在哪里添加configuration,我将不胜感激!

非常感谢。

更新:

我已经尝试了以下(具有MYPASSWORD和MYDBNUMBER的真实值:

在routes.js中

var db = mongoose.connect('mongodb://heroku:<MYPASSWORD>@staff.mongohq.com:10049/<MYDBNUMBER>'); 

在我的schema.js(也尝试使用heroku

 var mongoose = require('mongoose'); mongoose.connect('mongodb://heroku:<MYPASSWORD>@staff.mongohq.com:10049/<MYDBNUMBER>'); 

我的package.json

 { "name": "NAME" , "version": "0.0.1" , "dependencies": { "express": "2.4.6" , "connect": "1.7.1" , "stylus": ">= 0.0.1" , "mongodb": ">= 0.9.6-7" , "mongoose": ">= 2.0.0" , "ejs": ">=0.4.3" } } 

现在,只有根'/'GET成功。 其实,如果我尝试/页面/任何我可以成功地得到一个渲染的500错误页面,我做了处理企图得到'网页',还没有被创build…这似乎有点怪异的我。 其他一切给我一个内部服务器错误。

此外,如果我去mongohq并在那里打开我的数据库,我的模型页的集合已经创build,唯一性的索引已经创build,即使我没有能够访问页面创build或查看模型我的应用…

高兴地提供任何其他信息…如此卡住。

我们正在使用对MongoHQ的Heroku,但在我们的情况下,我们自己创build了MongoHQ帐户,所以我们的解决scheme有点不同。 现在,我们使用Redis插件,在这种情况下,我们使用heroku envvariables连接到Redis。 当你创build一个新的插件时,Heroku添加了一堆你可以通过你的node.js应用程序轻松访问的envvariables:

 process.env.NAME_OF_VAR 

在Redis的情况下,var的名字是REDISTOGO_URL,所以我们的代码看起来像

 process.env.REDISTOGO_URL 

对于MongoHQ,envvariables似乎是MONGOHQ_URL

你可能需要做一些parsing。 Heroku在这里有一些Ruby的文档http://devcenter.heroku.com/articles/mongohq#using_the_mongo_ruby_driver ,这应该可以帮助你实现目标。

关于在快速应用程序中的位置。 我们正在做app.js上的所有设置,这是我们在应用程序中的入口点。

希望这可以帮助。