MERN堆栈
在我的应用中,您可以关注用户,当这些用户发布信息时,您应该会收到通知。
当前,我的User
模型具有一个数组,该数组列出了他们正在关注的所有用户以及正在关注他们的用户:
users_you_follow: [ <object_ids>... ],
users_who_follow_you: [ <object_ids>... ]
我目前的想法是这样的:
当用户在前端发布帖子时,我们将users_who_follow_you
数组以及帖子详细信息传递到后端。
然后,使用猫鼬解析users_who_follow_you
并找到具有相同ID的用户。
最后,在该User
模型中,我将存储帖子的详细信息以及其他一些元数据。
然后在前端,我将调用setInterval来检查是否有任何新通知。
尽管此方法可能可行,但似乎所有服务器用于检查通知的API调用都非常占用服务器资源。有没有更好的办法解决这个问题?
我目前不知道该如何开始。根据我的研究,有些人说使用websocket,而另一些人说使用web worker。
实现这种目标的最佳方法是什么?
一个非常相似的系统来比较它是StackOverflows收件箱。如果用户对您的信息发表评论,则标题/导航栏会显示通知,而无需您刷新屏幕。
谢谢。