我正在尝试根据Firebase文档中有关denormalizing的建议制作聊天应用程序。
我在用户节点中有一个聊天室列表,如下所示:
{
"user": {
"chat_ids": {
"room_1_id": true,
"room_2_id": true
}
}
}
和聊天节点为:
{
"room_1_id": {
"last_posted": "date"
},
"room_2_id": {
"last_posted": "date"
}
}
聊天节点具有的规则可以阻止不属于某个房间的成员读取该节点。我从用户节点获取聊天ID列表,然后获取每个聊天的详细信息,并将侦听器附加到每个聊天子项以检测其中的更改。
我的问题是,如果用户是20多个聊天室的一部分,将有20个听众,那么会导致性能问题吗?如果是这样,还有其他方法可以解决这个问题吗?