删除对话并向同一对话发送消息

时间:2014-03-09 06:25:35

标签: database-design

我正在创建一个包含对话和消息的消息传递应用。每个对话都有一系列消息。

如果用户1删除了与用户2的对话,我的对话表中有一个名为deleted_users的字段,其中包含已删除对话的用户数组。因此,用户2仍将看到对话,但用户1将不会。

问题:如果用户2决定使用同一个对话向用户1发送消息(用户1已删除但用户2仍有),该怎么办?在我看来,这条消息应该为用户1创建一个全新的对话,但仍然属于用户2的原始对话。处理此问题的最佳方法是什么?

我正在使用Parse.com来保存数据。他们使用Mongo我认为...

1 个答案:

答案 0 :(得分:1)

本着KISS原则的精神,为什么不只是“复活”对话?

用户可能会删除会话,因为他们认为会话结束了。现在有回复,他们可能想再次看到对话。 为避免混淆,您可能需要显示一些标记/通知(“已删除的会话,因回复而取消删除”。)。

然后您可以尝试获取用户反馈。在此基础上,进一步细化(例如,有一个按钮来拒绝进一步的消息)。

我知道的大多数消息传递应用都是这样的。如果他们有“对话”的概念(并非所有人都这样做),通常谈话只是一个新窗口。您可以关闭窗口,但如果收到新消息,它会重新打开,并显示所有旧消息。


您可能还想考虑“删除”对话的含义。为什么用户想要那个?只是“关闭”或“隐藏”对话有什么区别?这应该可以帮助您弄清楚消息进入“已删除”对话时的正确行为。