我希望在我的应用中基本上重拍Kik。对于我在firebase聊天应用程序中看到的大多数指南,有一个主要的消息节点,然后在其下面有扇出,每个用户的消息引用主列表中的消息。
根据我的Firebase目前布局的方式,实现这样的事情会更容易:
users
chatPartners
02834092890428
chatMessages
2093840923840923
timestamp/userUID/etc.
只是在我的用户节点内进行实际聊天。这似乎也主要是因为必须筛选消息节点中的每条消息?
因此,当用户向彼此发送消息时,我会更新"聊天消息"发件人和用户下的节点。
有没有理由不这样做?我看到每个人都是我描述的第一种方式,但我没有看到为什么在用户下存储每个聊天的原因--->聊天伙伴 - >聊天记录将成为一个问题。
答案 0 :(得分:2)
您可能遇到的唯一问题是如何调用数据。请注意,当您调用“聊天记录”时,因为它是“用户”和“聊天伙伴”的子项,您将调用该分支中所有内容的数据,实质上是在“用户”下加载数据库中的每一段数据,这是时间和性能敏感的。