0
我的app.js如下所示。当新的请求进入时,mogoDBUtils.getMogoDbCon();
将打开数据库连接。我想在api调用route.js结束后立即关闭数据库连接。在API调用期间打开和关闭数据库连接
我需要在app.js中放置代码以关闭下面的代码中的MongoDB连接,以便在evey新命中时打开连接并在api调用完成后关闭连接。
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.disable('x-powered-by')
var mogoDBUtils = require('./controller/utilities/mongodbutils.js')
var logger = require('./controller/utilities/logger.js'); //initialize logger class
require('./routes/route.js')(app); //define express router for api calls
mogoDBUtils.getMogoDbCon(); //open dbconnection
//setup server
var port = process.env.PORT || 80 // port
app.use(express.static('./views/webcontent/', { index: 'index.html' }))//define home page
app.listen(port);
console.log('Listening on port ' + port + '..');
// DB函数
module.exports.getMogoDbCon = function() {
new Promise((resolve, reject) => {
var mongoUri = getmongouri();
mongoose.connection.openUri(mongoUri);
var db = mongoose.connection;
db.on('error', function() {
throw new Error('unable to connect to database');
});
return resolve(db);
});
};
module.exports.closeMongoDBConnection = function() {
new Promise((resolve, reject) => {
mongoose.disconnect();
return resolve(true);
});
};
我已经添加getMogoDbCon()和closeMogoDbCon在问题的代码中使用。我得到一个错误TypeError:无法读取第二个中间件未定义的属性'然后'关闭连接。请你帮忙。 –
在这两个函数中添加'return'语句:'return new Promise(...' – alexmac
连接没有关闭。不知道我的代码有什么问题 –