2012-03-12 61 views
1

我在Heroku上託管了一個node.js應用程序,並嘗試使用節點模塊node-mongodb-native連接到MongoLab以進行連接。我的應用程序在從本地主機連接到MongoLab時運行正常,但在部署到Heroku後,我得到一個應用程序錯誤H12(請求超時)。從Heroku連接到MongoLab時,應用程序超時

示例代碼:

app.get('/', function(req, res) { 
    require('mongodb').connect(mongourl, function(err, conn){ 
     conn.collection('mycollection', function(err, coll){ 
      coll.find().toArray(function(error, results) { 
       if(error) console.log(error) 
       else { 
        res.send(util.inspect(results)); 
       } 
      }); 
     }); 
    }); 
}); 

是否有我需要傳遞給.connect()從Heroku的附加選項?

任何建議,非常感謝。謝謝!

+1

是'mongourl'返回正確的值嗎? – 2012-03-12 17:08:19

+0

嗨,我與MongoLab並希望能夠提供幫助。尼爾說的+1 ......當然有興趣知道'mongourl'的價值 - 掩蓋任何密碼。 – dampier 2012-03-12 17:51:09

+0

嗨尼爾,mongourl正在返回正確的值,據我所知。 喜@dampier,這裏是mongourl:MongoDB的:// heroku_app3138529:[email protected]:31407/heroku_app3138529 奇怪的,我想不通的是,當我運行從應用程序的工作原理我的本地環境,但不是來自Heroku ... – jcarrig 2012-03-13 01:17:20

回答

0

如果任何人有這個問題:

現在可以選擇你想在Heroku上運行哪些版本的節點。所以通過將下面的代碼添加到我的package.json中,我能夠連接到MongoLab沒有問題:

"engines": { 
    "node": "0.6.12" 
, "npm": "1.1.4" 
} 

謝謝。

+0

問題是什麼?切換到較舊版本的節點是否解決了這個問題? – jcruz 2013-01-18 18:25:15

+0

我對此也不清楚。我有同樣的問題,雖然我在package.json中設置我的節點值(在我的情況下爲「0.10.x」)因此,如果這是某種節點版本問題,我將不勝感激。 – darelf 2013-08-11 01:28:52

相關問題