是否可以通过socket.io显示来自MongoDB的实时数据?

时间:2019-06-28 10:03:59

标签: node.js mongodb socket.io

因此,我想将实时数据从MongoDB流式传输到我的网站,我真的不知道如何处理sockets.io的实时连接。数据从外部源推送到数据库,但是当我将数据附加到MongoDB指南针上时,没有任何反应。

这是我的代码:

const mongo = require('mongodb').MongoClient;

mongo.connect('', function (err,db) {

    if (err) {
        throw err;
    }
    console.log("Mongodb Connected...");

    io.on('connection', (socket) => {
        console.log("Someone connected.");

        Post.find().sort({_id:-1}).limit(1).lean().then(req =>{
            socket.emit('temp', {temp: req});
        })

    });

});

1 个答案:

答案 0 :(得分:2)

使用实时报告时需要考虑的几件事

  • 将套接字与服务器和客户端连接。
  • 如果服务器上发生了某些事件(在您的情况下是将数据插入DB中),则发出事件,就像您在上面的代码中所做的一样。
  • 从客户端(浏览器)收听事件(您将从服务器获得一些信号或数据)
  • 一旦从客户端接收到特定的信号(事件),请使用ajax命中特定的URL,以从服务器获取数据并根据您的要求进行显示。

我希望它将帮助您解决问题。