如何在服务器端添加节点js emit事件以发出插入数据库的新记录?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在服务器端添加节点js emit事件以发出插入数据库的新记录?相关的知识,希望对你有一定的参考价值。
我正在开发一个节点js套接字后端,需要向客户端发送新记录。
我的意思是,想象我有一个mysql数据库,并且节点js正在运行,我想发出任何实时插入数据库的新记录,正是那个特定的最后插入记录。
现在我正在使用节点js计时器,这个计时器正在检查数据库并每隔1秒向客户端发送所有记录,我不想要这个。
我搜索了很多,但没有找到这样的东西。谢谢你的任何建议。
答案
之前探索过的一种可能的方法是听Mysql's Binary log,也缩写为binlog。
这是与之相关的两个包:
- 第一个包名为Zongji,旨在成为一个Mysql binlog监听器:Npm - zongji。
- 第二个包,称为mysql-events,使用第一个包以更方便的方式监听事件:Npm - mysql-events
第二个包有一个详细的文档,可以让您立即开始收听Mysql更新。
另一答案
最简单的方法是在将记录保存到数据库后立即发出事件
//使用mongodb和节点
let newStudent = new Student(studentToBeRegistered);
newStudent.save().then((data: any) => {
// on success
// emit socket
socket.emit('newRecord', data)
}).catch((err) => {
console.log(err)
});
以上是关于如何在服务器端添加节点js emit事件以发出插入数据库的新记录?的主要内容,如果未能解决你的问题,请参考以下文章
Socket 使用 Node.js 发出 ajax 接收的数据