Как написать mongostream и socketio, чтобы избежать предупреждения о достижении лимита слушателя на маршруте express js. Я использую паспорт js и хочу прослушать изменения для вошедшего в систему пользователя.
На интерфейсе реагирования я делаю
axios.get('/notes');
socket.on('notes', data=>{
setNotes(data);
})
На сервере
const changestream = Notes.watch()
router.get('/notes', isAuthenticated, async(req, res)=>{
const io = req.app.get('io');
const result = await Notes.find({user:req.user.email})
io.emit('notes',result)
return res.send('OK')
changestream('change', async change=>{
const result= await Notes.find({user:req.user.email})
io.emit('notes',result)
});
})
Есть это правильный путь? Я думаю, что он будет излучать, даже если заметки будут обновлены для другого пользователя. Также, как закрыть соединение после того, как пользователь закрывает вкладку.