node 接口怎么实现热更新呢?

2018 年 5 月 31 日
 minglanyu

例如:
通过"/foo"接口在数据库某张表里增加了一条记录。假设是增加前记录数是 10,增加后记录数变为 10+1。
但是"/bar"接口不能返回数据库变化后的记录。那么现在我怎么动态得让"/bar"接口去获得 11 条记录呢?是不是有某种监听的机制?
求 V 站老哥指点迷津~

5137 次点击
所在节点    Node.js
15 条回复
2pen
2018 年 5 月 31 日
自己加个事件监听?
hlwjia
2018 年 5 月 31 日
这是什么业务场景?
xxxy
2018 年 5 月 31 日
不知道你用的是什么数据库,但是基本上都有触发器这个概念的。Mongodb 的话可以使用 mongo log,在插入事件之后返回。
minglanyu
2018 年 5 月 31 日
@xxxy 就是 mongodb,我去试一下
minglanyu
2018 年 5 月 31 日
@xxxy 这是个 package 吗
minglanyu
2018 年 5 月 31 日
@2pen 试一下
minglanyu
2018 年 5 月 31 日
@hlwjia 比如为文章新增一条评论,直接存到数据库了嘛,但是我没有实时在文章里获得这条评论
zenxds
2018 年 5 月 31 日
你需要的是轮询或者 websocket
tinycold
2018 年 5 月 31 日
同#8,你这个问题不是 node 的问题,二是你前端没有更新请求啊,你后端无论怎么改,前端不把新数据拉回来,都是白搭
lihongjie0209
2018 年 5 月 31 日
@minglanyu #7 你这是实时聊天的功能,不是评论的功能
my3157
2018 年 5 月 31 日
不建议在数据库做, 作为一名非专业运维, 研发要用触发器,存储过程一般我都是直接怼回去的, 推荐用 mq , 比较重的有 rabbitmq, 轻量级的有 redis
Mirana
2018 年 5 月 31 日
加一个 select count 的接口啊。。
minglanyu
2018 年 5 月 31 日
@zenxds @tinycold @lihongjie0209 是不是可以用 socket.io
crs0910
2018 年 5 月 31 日
实时场景比较多可以试试 feathers.js ,小需求就简单用下 socket 吧
minglanyu
2018 年 5 月 31 日
@crs0910 感谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/459190

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX