0
我使用Firebase實施iOS匿名聊天應用。觀察特定的Firebase數據集
我的應用程序有一個聊天室列表,並單擊房間將加入羣聊喜歡Facebook Messenger。 數據庫的結構看起來像
rooms
|- AAA
|- messages
|- "aaaaa"
|- "bbbbb"
|- "ccccc"
|- BBB
|- messages
|- "ddddd"
|- "eeeee"
|- CCC
|- messages
|- "fffff"
|- "ggggg"
...
如果用戶加入的房間,例如AAA
和BBB
。應用程序將在本地存儲中存儲AAA
和BBB
。我如何觀察新消息已添加到AAA
或BBB
但不遵守CCC
?
我閱讀了Firebase的文檔。我可能有一些方法來做到這一點。
- 觀察整個
rooms
節點和在應用過濾AAA
和BBB
。但我認爲如果太多rooms
會導致性能問題。數據量很大。 - 爲
AAA
和BBB
創建單獨的觀察者。它可以解決我的問題,但如果我的用戶加入太多rooms
。觀察很多節點看起來沒有意義。 - 設置一個規則來控制哪些
rooms
可以同步。但我必須記錄一個用戶進入房間。我必須管理匿名用戶和聊天的關係。
有沒有更好的性能方式可以解決我的問題?
也許喜歡
['AAA', 'BBB'].observe(.childAdded, {
// do something
})
或者任何建議,歡迎!
謝謝