聊天应用的Firebase数据结构

时间:2016-08-27 18:57:28

标签: ios swift firebase firebase-realtime-database

我希望在我的应用中基本上重拍Kik。对于我在firebase聊天应用程序中看到的大多数指南,有一个主要的消息节点,然后在其下面有扇出,每个用户的消息引用主列表中的消息。

根据我的Firebase目前布局的方式,实现这样的事情会更容易:

users
   chatPartners
        02834092890428
           chatMessages
               2093840923840923
                   timestamp/userUID/etc.

只是在我的用户节点内进行实际聊天。这似乎也主要是因为必须筛选消息节点中的每条消息?

因此,当用户向彼此发送消息时,我会更新"聊天消息"发件人和用户下的节点。

有没有理由不这样做?我看到每个人都是我描述的第一种方式,但我没有看到为什么在用户下存储每个聊天的原因--->聊天伙伴 - >聊天记录将成为一个问题。

1 个答案:

答案 0 :(得分:2)

您可能遇到的唯一问题是如何调用数据。请注意,当您调用“聊天记录”时,因为它是“用户”和“聊天伙伴”的子项,您将调用该分支中所有内容的数据,实质​​上是在“用户”下加载数据库中的每一段数据,这是时间和性能敏感的。