我試圖連接到生產的mlab db和我的本地數據庫進行開發。據我可以告訴我的NODE_ENV
已設置爲生產。但是因爲我看不懂,所以我懷疑它是以某種方式搞砸了。另外,我一直連接到我的開發數據庫。
我運行我的mongod
實例。在另一個cli中,導航到我的應用程序文件夾,該文件夾包含我的app.js
文件。我正在遵循一個教程,說運行
process.env.NODE_ENV
但是,我知道這個命令不被識別。所以我檢查我的NODE_ENV
變量使用:set
我得到NODE_ENV=production
,我以前設置。然而。當我使用npm start
運行我的應用時,我仍然連接到我的開發服務器。這裏是我的db.js code
:
var mongoose = require('mongoose');
var gracefulShutdown;
var dbURI = 'mongodb://localhost/Loc8r';
if(process.env.NODE_ENV == 'production'){
console.log('we are in production');
dbURI = 'mongodb://username:[email protected]:55555/dbname'
}
mongoose.connect(dbURI);
// to address mongoose closing issues in windows
var readLine = require('readline');
if (process.platform === "win32"){
var rl = readLine.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on ("SIGINT", function(){
process.emit ("SIGINT");
});
}
// close Mongoose connection, passing in an anonymous function to run when closed
gracefulShutdown = function(msg, callback){
mongoose.connection.close(function(){
console.log("Mongoose disconnected through " + msg);
callback();
});
};
mongoose.connection.on('connected', function(){
console.log('Mongoose connected to ' + dbURI);
});
mongoose.connection.on('error', function(err){
console.log('Mongoose connection error: ' + err);
});
mongoose.connection.on('disconnected', function(){
console.log('Mongoose disconnected');
});
// for nodemon termination
process.once('SIGUSR2', function(){
gracefulShutdown('nodemon restart', function(){
process.kill(process.pid, 'SIGUSR2');
});
});
// for app termination
process.on('SIGINT', function(){
gracefulShutdown('app termination', function(){
process.exit(0);
});
});
// for HEroku termination
process.on('SIGTERM', function(){
gracefulShutdown('Heroku app shutdown', function(){
process.exit(0);
});
});
require('./locations');
不知道從哪裏開始尋找。我用盡了我的谷歌搜索。