我的基于node.js的应用程序连接到mongodb数据库,当我手动关闭node.js应用程序时,它将触发下面的函数来关闭mongodb连接。
// Process on exit and signals.
process.on('exit', function() { terminator(); });
['SIGHUP', 'SIGINT', 'SIGQUIT', 'SIGILL', 'SIGTRAP', 'SIGABRT', 'SIGBUS',
'SIGFPE', 'SIGUSR1', 'SIGSEGV', 'SIGUSR2', 'SIGPIPE', 'SIGTERM'
].forEach(function(element, index, array) {
process.on(element, function() { terminator(element); });
});
function terminator(sig) {
mongoose.connection.close();
process.exit(1);
console.log('%s: Node server stopped.'.red, Date(Date.now()) );
}
然而,当我关闭node.js应用程序时,mongodb连接也将安全关闭。但在我的情况下,mongodb将在/ var / lib / mongodb / journal中创建三个日志文件:prealloc.0 prealloc.1 prealloc.2。这三个日志文件太大了。
当node.js app即将关闭时,为什么以及在没有生成这些日志文件的情况下关闭mongodb连接的好方法是什么?