프로덕션 용 mlab db와 개발 용 로컬 db에 연결하려고합니다. 내가 말할 수있는 한 내 생산은 NODE_ENV
으로 설정되어 있습니다. 그러나 나는 그것을 읽을 수 없기 때문에 어떻게 든 엉망이라고 의심합니다. 또한 내 dev db에 계속 연결합니다.
나는 mongod
인스턴스를 실행합니다. 다른 cli에서 내 app.js
파일이있는 내 앱 폴더로 이동합니다. 나는 실행하라는 지침서를 따른다.
process.env.NODE_ENV
그러나 나는이 명령을 인식하지 못한다. 그래서 내 NODE_ENV
변수를 사용하여 확인 : set
나는 이전에 설정했다 NODE_ENV=production
, 얻을. 하나. npm start
을 사용하여 앱을 실행해도 내 dev 서버에 계속 연결됩니다. 여기 내 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');
어디서부터 시작 해야할지 잘 모르겠습니다. 나는 내 Google 검색을 다 써 버렸다.