最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何更新更改的用户数据,在多个浏览器登录

IT培训 admin 5浏览 0评论

如何更新更改的用户数据,在多个浏览器登录

我存储蒙戈收集用户会话,使用快递会话中间件。

这是最好的方式,当从其中一人进行变更,更新所有用户会话。

例如,如果用户从会话中的变化的电子邮件,我立刻更新它。但变化并不适用于其他地区。

为了清楚起见:浏览器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,
  };
});

我期望从会议一执行的变化,将分发到用户会话的其余部分。

作为解决问题的方法之一,我认为搜索所有用户会话,并帮助他们了解每个用户的数据(电子邮件,用户名,姓名等)的变化。

回答如下:

您可以在客户端使用EventSource()到数据流从服务器浏览器。

在服务器发送一个或多个消息具有MIME"text/event-stream"客户。例如,看到How to read and echo file size of uploaded file being written at server in real time without blocking at both server and client?。

如何更新更改的用户数据,在多个浏览器登录

我存储蒙戈收集用户会话,使用快递会话中间件。

这是最好的方式,当从其中一人进行变更,更新所有用户会话。

例如,如果用户从会话中的变化的电子邮件,我立刻更新它。但变化并不适用于其他地区。

为了清楚起见:浏览器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,
  };
});

我期望从会议一执行的变化,将分发到用户会话的其余部分。

作为解决问题的方法之一,我认为搜索所有用户会话,并帮助他们了解每个用户的数据(电子邮件,用户名,姓名等)的变化。

回答如下:

您可以在客户端使用EventSource()到数据流从服务器浏览器。

在服务器发送一个或多个消息具有MIME"text/event-stream"客户。例如,看到How to read and echo file size of uploaded file being written at server in real time without blocking at both server and client?。

发布评论

评论列表 (0)

  1. 暂无评论