gpt4 book ai didi

mongodb - 您将如何在 MongoDB 中为电子邮件应用程序建模?

转载 作者:IT老高 更新时间:2023-10-28 13:29:21 24 4
gpt4 key购买 nike

您将如何在 MongoDB 中为电子邮件应用程序(如 gmail)建模?你会为 Conversation 建模吗? 收件箱/发件箱?或邮件

谢谢

最佳答案

Gmail 使用标签的概念(如 stackoverflow 上的标签)。这意味着收件箱、发送邮件、加星标等正常的电子邮件对象,只是用指定的标签标记。所以,只有 EmailLabels

您可以使用 gmail 中的搜索来查看它,例如 label:inboxlabel:Starred

我想推荐一个相当简单的设计:

Email
{
_id
Title,
Body,
Status {read, unread},
Labels { name, type(system, custom) },
Replies {...},
..
}

Labels
{
_id,
name,
settings {
ShowInLabelsList (show, hide, showIfUnread),
ShowInMessageList (show, hide),
..
}
}

当然我错过了一些东西,但我想可以从上面的架构开始,如果需要的话,可以在未来添加更多功能。

更新:

对于“对话 View ”,我猜所有回复都显示到嵌套集合 Replies(我已经更新了我的架构)。逻辑如下:

一旦您收到一条新消息,您需要检查是否已经存在同名的电子邮件(当然需要删除“Re”等。)还需要检查收件人列表中已发送电子邮件的用户。如果上述条件为真,那么只需将新电子邮件添加到嵌套的 Replies 集合中,否则添加到电子邮件集合中。

关于mongodb - 您将如何在 MongoDB 中为电子邮件应用程序建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5559151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com