我在我的应用程序中使用MongoDB,我想在博文中通知订阅用户新评论。所以这或多或少是我的数据库看起来如何生活:
class Post(Document):
description = StringField(max_length=255, required=True)
inserted_at = DateTimeField(default=datetime.datetime.now, required=True)
comments = ListField(EmbeddedDocumentField('Comment'))
author = ReferenceField('User', reverse_delete_rule='CASCADE')
因此,如果用户在特定帖子中发表评论,则只要在此帖子中添加新评论,就会收到用户的通知。
我在想一个名为Notifications的表,其中包含以下文档结构:
Notifications = [{
user1 : {
- unread comment1
- unread comment2
},
user2 : {
-
-
}
...
}]
另一种选择是按评论组织通知(因为它们将重复很多),然后让所有在新评论所属的同一帖子上评论(使用表格Post)的用户。
每个用户都有一个通知Feed和"事件"一旦用户将其标记为已读,将从数据库中删除。
我不知道自己是否非常清楚。这些方法对我来说听起来有些天真,所以我非常感谢您的意见和建议。