当前位置 : 主页 > 网页制作 > Nodejs >

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

来源:互联网 收集:自由互联 发布时间:2021-06-16
我有一个使用Express的Node.js应用程序,它将数据存储在mongoDB(本地)中. 它现在在雪松堆上成功推送到heroku并且服务器正在运行.我通过终端添加了mongohq插件. 现在……如何通过mongohq将mongo
我有一个使用Express的Node.js应用程序,它将数据存储在mongoDB(本地)中.

它现在在雪松堆上成功推送到heroku并且服务器正在运行.我通过终端添加了mongohq插件.

现在……如何通过mongohq将mongoDB连接到我的应用程序以开始使用它?我没有在网上找到这方面的教程.如果您可以指向我或让我开始在哪里添加配置,我将不胜感激!

非常感谢.

更新:

我尝试过以下内容(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成功.实际上,如果我尝试/ page / ANYTHING我可以成功获得一个渲染的500错误页面,我处理尝试获取尚未创建的’页面’…这对我来说似乎有些奇怪.其他一切都给我一个内部服务器错误.

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

很高兴提供任何其他信息……如此卡住.

我们正在使用heroku来对抗MongoHQ,但在我们的情况下,我们自己创建了MongoHQ帐户,所以我们的解决方案有点不同.
现在,我们正在使用Redis插件,在这种情况下,我们使用heroku env变量连接到Redis.
当您创建一个新插件时,Heroku会添加一些env变量,您可以从node.js应用程序轻松执行此操作:

process.env.NAME_OF_VAR

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

process.env.REDISTOGO_URL

对于MongoHQ,env变量似乎是MONGOHQ_URL

您可能需要进行一些解析. Heroku在http://devcenter.heroku.com/articles/mongohq#using_the_mongo_ruby_driver这里有一些Ruby的文档可以帮助你实现它.

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

希望这可以帮助.

网友评论