首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Node.js
Express
PPA for Ubuntu
ppa:chris-lea/node.js
V2EX  ›  Node.js

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

  •  
  •   minglanyu · 2018-05-31 12:33:08 +08:00 · 3046 次点击
    这是一个创建于 556 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    15 回复  |  直到 2018-05-31 23:45:26 +08:00
        1
    2pen   2018-05-31 12:36:20 +08:00
    自己加个事件监听?
        2
    hlwjia   2018-05-31 13:38:49 +08:00 via iPhone
    这是什么业务场景?
        3
    xxxy   2018-05-31 14:15:15 +08:00
    不知道你用的是什么数据库,但是基本上都有触发器这个概念的。Mongodb 的话可以使用 mongo log,在插入事件之后返回。
        4
    minglanyu   2018-05-31 15:45:35 +08:00 via Android
    @xxxy 就是 mongodb,我去试一下
        5
    minglanyu   2018-05-31 15:47:40 +08:00 via Android
    @xxxy 这是个 package 吗
        6
    minglanyu   2018-05-31 15:48:38 +08:00 via Android
    @2pen 试一下
        7
    minglanyu   2018-05-31 15:50:03 +08:00 via Android
    @hlwjia 比如为文章新增一条评论,直接存到数据库了嘛,但是我没有实时在文章里获得这条评论
        8
    zenxds   2018-05-31 17:07:42 +08:00   ♥ 1
    你需要的是轮询或者 websocket
        9
    tinycold   2018-05-31 17:17:54 +08:00   ♥ 1
    同#8,你这个问题不是 node 的问题,二是你前端没有更新请求啊,你后端无论怎么改,前端不把新数据拉回来,都是白搭
        10
    lihongjie0209   2018-05-31 17:21:23 +08:00   ♥ 1
    @minglanyu #7 你这是实时聊天的功能,不是评论的功能
        11
    my3157   2018-05-31 19:37:01 +08:00   ♥ 1
    不建议在数据库做, 作为一名非专业运维, 研发要用触发器,存储过程一般我都是直接怼回去的, 推荐用 mq , 比较重的有 rabbitmq, 轻量级的有 redis
        12
    Mirana   2018-05-31 19:40:20 +08:00
    加一个 select count 的接口啊。。
        13
    minglanyu   2018-05-31 20:34:26 +08:00 via Android
    @zenxds @tinycold @lihongjie0209 是不是可以用 socket.io
        14
    crs0910   2018-05-31 23:12:27 +08:00 via Android   ♥ 1
    实时场景比较多可以试试 feathers.js ,小需求就简单用下 socket 吧
        15
    minglanyu   2018-05-31 23:45:26 +08:00 via Android
    @crs0910 感谢~
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4345 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 42ms · UTC 03:28 · PVG 11:28 · LAX 19:28 · JFK 22:28
    ♥ Do have faith in what you're doing.