node.js - 是否可以通过 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});
})
});
});
解决方案
使用实时报告时需要考虑的几件事
- 将您的套接字与服务器和客户端连接。
- 当服务器上发生某些事情时(在您将数据插入数据库的情况下)发出事件,就像您已经在上面的代码中所做的那样。
- 从客户端(浏览器)收听您的事件(您将从服务器获得一些信号或数据)
- 一旦您从客户端接收到特定信号(事件),使用 ajax 访问特定 URL 以从服务器获取数据并根据您的要求显示它。
我希望它能帮助你解决你的问题。
推荐阅读
- postgresql - 如何查询名称同时包含大小写的表?
- qt - 如何在 QML 文件中直接监听 QGuiApplication::applicationStateChanged 信号
- javascript - 将函数推送到数组,将 let 转换为 var
- javascript - document.getElementsByClassName 不起作用
- elasticsearch - 在 Vega 中引用子存储桶的语法
- serialization - 如何调试无效的 POST 正文?
- javascript - ReactJS:TypeError:无法读取未定义的属性“地图”
- bash - 如何从中删除尾随空格。shell脚本中的变量?
- node.js - Access rights for node_modules folder at MacOS/Linux and Windows
- hadoop - 错误的参数“男性”:org.apache.hadoop.hive.ql.metadata.HiveException | HiveUDF 中的 Drools KieSession