node 接口怎么实现热更新呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
minglanyu
V2EX    Node.js

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

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

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

    15 条回复    2018-05-31 23:45:26 +08:00
    2pen
        1
    2pen  
       2018-05-31 12:36:20 +08:00
    自己加个事件监听?
    hlwjia
        2
    hlwjia  
    PRO
       2018-05-31 13:38:49 +08:00 via iPhone
    这是什么业务场景?
    xxxy
        3
    xxxy  
       2018-05-31 14:15:15 +08:00
    不知道你用的是什么数据库,但是基本上都有触发器这个概念的。Mongodb 的话可以使用 mongo log,在插入事件之后返回。
    minglanyu
        4
    minglanyu  
    OP
       2018-05-31 15:45:35 +08:00 via Android
    @xxxy 就是 mongodb,我去试一下
    minglanyu
        5
    minglanyu  
    OP
       2018-05-31 15:47:40 +08:00 via Android
    @xxxy 这是个 package 吗
    minglanyu
        6
    minglanyu  
    OP
       2018-05-31 15:48:38 +08:00 via Android
    @2pen 试一下
    minglanyu
        7
    minglanyu  
    OP
       2018-05-31 15:50:03 +08:00 via Android
    @hlwjia 比如为文章新增一条评论,直接存到数据库了嘛,但是我没有实时在文章里获得这条评论
    zenxds
        8
    zenxds  
       2018-05-31 17:07:42 +08:00   1
    你需要的是轮询或者 websocket
    tinycold
        9
    tinycold  
       2018-05-31 17:17:54 +08:00   1
    同#8,你这个问题不是 node 的问题,二是你前端没有更新请求啊,你后端无论怎么改,前端不把新数据拉回来,都是白搭
    lihongjie0209
        10
    lihongjie0209  
       2018-05-31 17:21:23 +08:00   1
    @minglanyu #7 你这是实时聊天的功能,不是评论的功能
    my3157
        11
    my3157  
       2018-05-31 19:37:01 +08:00   1
    不建议在数据库做, 作为一名非专业运维, 研发要用触发器,存储过程一般我都是直接怼回去的, 推荐用 mq , 比较重的有 rabbitmq, 轻量级的有 redis
    Mirana
        12
    Mirana  
       2018-05-31 19:40:20 +08:00
    加一个 select count 的接口啊。。
    minglanyu
        13
    minglanyu  
    OP
       2018-05-31 20:34:26 +08:00 via Android
    @zenxds @tinycold @lihongjie0209 是不是可以用 socket.io
    crs0910
        14
    crs0910  
       2018-05-31 23:12:27 +08:00 via Android   1
    实时场景比较多可以试试 feathers.js ,小需求就简单用下 socket 吧
    minglanyu
        15
    minglanyu  
    OP
       2018-05-31 23:45:26 +08:00 via Android
    @crs0910 感谢~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3631 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 04:19 PVG 12:19 LAX 20:19 JFK 23:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86