自从我开始开发项目(12个月前!)以来,我一直在为解决这个问题而烦恼不已,总是假设在准备发布之前我会找到答案的……不幸的是,事实并非如此!
基本上,我有一个运行在Azure上的相当简单的node.js服务器,使用mongoose连接到MongoLab(现为MLab)数据库。
连接代码如下所示:
// Connect to DB
//mongoose.set('debug', true);
mongoose.connect(envConfig.app.db, {
server: {
auto_reconnect: true,
socketOptions: {
keepAlive: 1,
connectTimeoutMS: 30000,
socketTimeoutMS : 30000,
}
},
replset: {
auto_reconnect: true,
socketOptions: {
keepAlive: 1,
connectTimeoutMS: 30000,
socketTimeoutMS : 30000,
}
}
}, function (err) {
if (err) winstonLogger.error(err);
});
mongoose.connection.on('connecting', function () {
console.log('Connecting to MongoDB...');
});
mongoose.connection.on('connected', function () {
console.log('MongoDB connected!');
});
mongoose.connection.on('open', function () {
console.log('MongoDB connection opened!');
});
mongoose.connection.on('error', function (err) {
console.error('Error in MongoDb connection: …Run Code Online (Sandbox Code Playgroud)