MongoDB 改变流与 socket.io

MongoDB change stream vs socket.io

我正在开发管理员创建课程并通知用户的功能。我正在考虑使用 MongoDB change stream 但我需要套接字将更改后的数据发送到前端。 现在的场景:管理员创建一个课程,更改流通知并且 socket.io 将其发送到前端。 我的问题是,如果我们使用 socket.io 将数据发送到前端,那么为什么我们需要 MongoDB 更改流?我们能做的就是在管理员成功创建课程时发出事件。

我浏览了多篇文章,他们也在做同样的事情——调用一个 API 来创建和更新文档,调用一个变化流来观察,然后 socket.io 发出事件。

如果我们可以在创建课程后将数据发送到前端,那么为什么我们需要 MongoDB 更改流?

您的服务器端代码可能希望将此事件发送到多个目的地 and/or 触发额外的 processes.For 出于安全原因您需要此事件由服务器端控制。当然,您始终可以依赖客户端发出数据库更新成功的事件,但我仍会在服务器端进行检查。 Mongodb 流将允许您在不依赖客户端的情况下监听这些事件并采取行动。