我写这封信,我需要检查,如果两个用户聊天应用程序u1,并u2有一个以前的对话或没有。如果有,则检索conversationId消息并将消息发送到该端点。否则,创建一个新对话。
我的数据结构看起来像这样。
userconversations:
userId1:
conversationID1:
participants:
user1: true
user2: true
conversationID2:
participants:
user1: true
user7: true
在我的应用程序中,我想从userconversations/userId1列表中读取所有数据并遍历列表以确定是否user2是对话的一部分。
我的问题是如何设计我的类,以便快速反序列化这些数据并避免使用getChildren()调用对其进行迭代?
如果我规范化数据并保留不同的conversationId -> participants映射,那么对于每个对话 ID,我将不得不查询该流以获取数据。假设用户可以进行 100 次对话,这将非常缓慢且占用大量资源。
请随时提出解决我的目的的替代模式设计。
斯蒂芬大帝
相关分类