sheercms
Version:
Sheer Cliff CMS is a simple and powerful content management system (CMS) for Node JS.
41 lines (31 loc) • 1.09 kB
JavaScript
var mongoose = require( 'mongoose' );
var logger = require('./logger');
var config = require('./config');
module.exports.mongoose = mongoose;
/*
done: (err)
*/
module.exports.connect = function(done) {
var uri = config.settings.database_connection;
// If the connection throws an error
mongoose.connection.on('error',function (err) {
logger.error('Mongoose default connection error: ' + err);
done(err);
});
// When the connection is disconnected
mongoose.connection.on('disconnected', function () {
logger.warn('Mongoose default connection disconnected');
});
// If the Node process ends, close the Mongoose connection
process.on('SIGINT', function() {
mongoose.connection.close(function () {
logger.warn('Mongoose default connection disconnected through app termination');
process.exit(0);
});
});
mongoose.connection.on('connected', function () {
logger.info('Mongoose default connection open to ' + uri);
done();
});
mongoose.connect(uri);
}