[英]Node.js - Connecting to MongoDB using MongoHQ on Heroku
我有一個使用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上完成所有設置,這是我們在應用程序中的入口。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.