所以我正在努力,雖然從Manning獲得意思書,並遵循第5章中的步驟我試圖在Mongolab上使用數據庫作爲Heroku的附加組件。當我運行這段代碼(本地和在Heroku)返回此錯誤:MongoError:getaddrinfo ENOTFOUND undefined undefined:27017
MongoError: getaddrinfo ENOTFOUND undefined undefined:27017
這是我當前的代碼:
:var mongoose = require('mongoose');
var dbURI = "mongodb://localhost/loc8r";
if (process.env.NODE_ENV === 'production') {
dbURI = process.env.MONGOLAB_URI;
}
mongoose.connect(dbURI);
疑難解答我從終端與啓動應用程序
NODE_ENV=production MONGOLAB_URI=/*my mongo uri here*/
與它在本地運行良好。所以我不確定問題來自哪裏。有關排除列出的錯誤的任何建議?
所以我控制檯登錄我的環境,並將其推到heroku,它輸出'生產'這似乎很好。所以我猜這個錯誤是由於某種原因使用'process.env.MONGOLAB_URI'所致。 – txnnxr
看看下面的對話,對於MONGOLAB_URI作爲傳統來說,Pneumee是完全正確的。我忘記了這一點,MONGODB_URI就是你想要用作你的Heroku env變量的東西。 但是,對於本地測試,這應該不重要,因爲您只是爲自己創建和提供變量。 您是否在使用Nodemon來啓動您的應用程序?你用來啓動的確切命令是什麼? 對於調試,也嘗試添加 console.log('DB URI:'+ process.env。MONGOLAB_URI); 在這個文件的某個地方,所以你可以很容易地監視它。 – Adam