如何在 MongoDb 数据库更新时立即更新 Flask 前端?

How to update flask frontend instantly when MongoDb database updates?

我正在从流式应用程序更新 MongoDb 数据库。我希望数据库中的更改反映在前端。

在前端,我目前正在查询数据库,但我必须手动刷新才能获得新的更新。定期刷新不是一个好的选择,因为更新速度可能每秒很多次,甚至每小时几次非常慢。

我遇到了 SSE(服务器发送的事件)。但不知道它是否可以用于我的情况。

我正在寻找的是一个很好的基于 PUSH 的方法。后端服务器可以更改为前端客户端的地方。

我用过的: 取而代之的是基于 PULL 的方法。 通常,在这种情况下,可以使用带有 setInterval() in javascript 的 AJAX 请求。在这种情况下,不必刷新整个页面。但只需定期使用 ajax 请求以定期检查更新。并且在更新的情况下可以 append/fill 相关的相应 Html .

这是我使用的:

function update(){ // This functions is called repeatedly 
    $.ajax({
        url: "/update/",
        type: "POST",
        success: function(resp){
            $('div.stats').html(resp.data); // append/fill to appropriate div
        }
    });
}

var myVar = setInterval(update, 1000); // update every 1sec 

这是很常用的方法。 这样就达到了我的目的。

还有一些方法可以代替基于 PUSH 的方法。请参阅 COMET 编程。但是我找不到合适的工具来与网络框架同步。