首页 > 解决方案 > 是否可以通过 socket.io 显示来自 MongoDB 的实时数据?

问题描述

所以,我想将实时数据从 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});
        })

    });

});

标签: node.jsmongodbsocket.io

解决方案


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

  • 将您的套接字与服务器和客户端连接。
  • 当服务器上发生某些事情时(在您将数据插入数据库的情况下)发出事件,就像您已经在上面的代码中所做的那样。
  • 从客户端(浏览器)收听您的事件(您将从服务器获得一些信号或数据)
  • 一旦您从客户端接收到特定信号(事件),使用 ajax 访问特定 URL 以从服务器获取数据并根据您的要求显示它。

我希望它能帮助你解决你的问题。


推荐阅读