gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:14:37 28 4
gpt4 key购买 nike

我有一个使用 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>');

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

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

我的包.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 会添加一堆环境变量,您可以轻松地从您的 node.js 应用程序访问这些变量:

process.env.NAME_OF_VAR

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

process.env.REDISTOGO_URL

对于 MongoHQ,env 变量似乎是 MONGOHQ_URL

您可能需要做一些解析。 Heroku 在这里有一些 Ruby 文档 http://devcenter.heroku.com/articles/mongohq#using_the_mongo_ruby_driver这应该可以帮助您继续前进。

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

希望这对您有所帮助。

关于mongodb - Node.js - 在 Heroku 上使用 MongoHQ 连接到 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7575664/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com