首页 > 解决方案 > 如何在服务器端添加节点 js 发出事件以发出插入数据库中的新记录?

问题描述

我正在开发一个需要向客户端发出新记录的节点 js 套接字后端。

我的意思是,假设我有一个 mysql 数据库,并且节点 js 正在运行,我想实时发出插入数据库中的任何新记录,确切地说是最后插入的特定记录。

现在我正在使用节点 js 计时器,这个计时器正在检查数据库并每 1 秒向客户端发送所有记录,我不想要这个。

我搜索了很多,但没有找到这样的东西。感谢您的任何建议。

标签: javascriptmysqlnode.jsdatabasesocket.io

解决方案


最简单的方法是在将记录保存到数据库后立即发出事件,例如

// 假设使用 mongodb 和 node

  let newStudent = new Student(studentToBeRegistered);
  newStudent.save().then((data: any) => {
     // on success
     // emit socket
     socket.emit('newRecord', data)
    }).catch((err) => {
    console.log(err)
    });

推荐阅读