用Express监视单个Mongo记录更新的最佳方法

4

我在Mongo中有一个审计集合,只有一行数据。

{ total: 100, successes: 95, failures: 5}

我想通过socket.io将此内容流式传输到UI。我可以像这样使用mongo集合来完成它。
const Audit = require('../models/audit'); // Mongoose Model

module.exports = function(app){

    const http = require('http').Server(app);
    const io = require('socket.io')(http);

    Audit.find().tailable().cursor()
        .on('data', function(doc) {
            console.log(doc);
            io.emit('audit', doc); // push to subscribed clients
        });
};

然而,它似乎只支持插入操作。当我想要监视单行更改时,我该怎么做?


你想检查集合中是否有任何文档被更新。 - Nikhil Parmar
"匹配检查"? 这是Mongo的一个功能吗?不清楚你的意思。 - jax
更新了我的评论。我的意思是,一旦任何行(mongodb中的文档)被更新,您都应该知道。 - Nikhil Parmar
我尝试在Mongo中更新记录,但是.on('data'函数从未触发。 - jax
1个回答

0

你尝试过使用 awaitDatatailable 标志设置游标吗?请参阅 MongoDB 的 Node.JS 驱动程序 API 参考


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接