簡體   English   中英

數據庫插入數據,實時渲染到前端

[英]Database insert data, real-time render to frontend

這個想法是水中的傳感器將數據發送到我的數據庫,我希望數據實時發送到前端,換句話說:數據庫更新然后前端更新。

我使用的工具:

  1. MongoDB
  2. 節點
  3. 套接字io
  4. ReactJS

它實際上工作正常,這是我處理實時數據流的主要代碼

const Zips = require("./dataSchema");

io.on("connection", (socket) => {
    setInterval(()=>{
         Zips.find().then((result) => {
    socket.emit("output", result);
  });
    }, 5000)
});

#Zips 是模式使用貓鼬
我使用 setinterval 每 5 秒更新一次。

題 :

Socket-io 或 Mongodb 是否提供任何函數或方法,以便不需要 setInterval 或任何其他方式?

##edit 11/8 射線顯示文檔有效。

解決方案 :

io.on("connection",(socket)=>{
  const changeStream = Zips.watch()
  changeStream.on('change',(next)=>{
    if(next.operationType=="insert"){
      Zips.find().then((result) => {
           socket.emit("output", result);
        });
    }
  })
})

使用watch() ,然后回調函數提供了很多可以跟蹤的數據。
文檔:更改流

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM