Я храню пользовательские сеансы в коллекции mongo, используя промежуточное программное обеспечение для экспресс-сеансов.
Что является наилучшим способом обновления всех пользовательских сеансов при изменении одного из них.
Например, если пользователь меняет электронную почту из сеанса А, я обновляю его немедленно.Но изменения не применяются к остальным.
Для ясности: Браузер 1 - Пользователь изменил адрес электронной почты Браузер 2 - Перезагрузить страницу, получая старые данные
app.get('/change-email', async (req, res, next) => {
const userData = await User.findOneAndUpdate({ _id: req.session.user.id }, {
$set: {
email: req.body.email,
},
}, {
new: true,
});
req.session.user = {
id: userData._id,
email: userData.email,
username: userData.username,
name: userData.name,
};
});
Я ожидаю, что изменение выполнено ссеанс А, будет распространяться среди остальных сеансов пользователей.
В качестве одного из решений проблемы, я думаю, искать все сеансы пользователей и обновлять их по всем данным пользователя (электронная почта, имя пользователя, имяи т. д.) изменить.