我有一个使用MVC范例的ExpressJS应用程序。我使用Mongoose创建Mongo数据库的接口。
控制器操作中存在一个错误,该错误会监视特定集合的更改。 每个新请求(例如,类似于浏览器上的刷新)都会创建到MongoDB的新连接,该连接永远不会关闭。
controller.js
const Model = require('model');
exports.example = function(req, res, next) {
// Monitor collection
Model.watch().on('change', (model) => {
// Notify through SocketIO
req.app.io.emit('model:update', model);
});
// some extra code
});
控制器层是设置集合监视程序的正确位置吗? 使用观察器时如何处理打开的连接?