2016-08-27 23 views
0

私は基本的に私のアプリの中でKikをリメイクしたいと思っています。 Firebaseチャットアプリケーションで見たほとんどのガイドでは、1つの主要なMessagesノードがあり、その下にメインリストのメッセージを参照する各ユーザーのメッセージがファンアウトされています。チャットアプリのFirebaseデータ構造

users 
    chatPartners 
     02834092890428 
      chatMessages 
       2093840923840923 
        timestamp/userUID/etc. 

をし、ちょうど私のユーザーのノードの内部に実際のチャットを持っている:私のFirebaseは、現時点でレイアウトされている方法で

、このような何かを実装するために容易になるだろう。これはまた、メッセージノード内のすべての単一のメッセージを調べなければならないことに大いに悩まされているようです。

したがって、ユーザーがお互いにメッセージを送信すると、送信者とユーザーの下の「チャットメッセージ」ノードを更新します。

このような理由がありますか?私は誰もがそれをやっているのを私が記述した最初の方法だと見ていますが、ユーザーの下に各チャットを保存する理由は見えません--->チャットパートナー - >チャットログが問題になります。

答えて

2

実行できる問題は、データの呼び出し方法だけです。 'Users'と 'chatPartners'の子であるため 'Chat Log'を呼び出すと、そのブランチ内のすべてのデータが呼び出されます。基本的にデータベースのすべてのデータを 'Users'これは時間とパフォーマンスに敏感です。