参加者のプレゼンスに基づいてチャットをクエリする方法
問題ステートメント:
Firebase が指定された場合複数の参加者とのチャット会話を表すデータベース構造。チャットを効率的にクエリするにはどうすればよいですか?特定の参加者が含まれていますか?
現在のクエリ (機能していません):
return this.af.database.list('chats', { query: { orderByChild: 'participants', equalTo: username, // How to check if participants contain username } });
現在のクエリの問題:
推奨される解決策: インデックスを反転
クエリを最適化するには、データをフラット化し、チャットルームの関係をユーザーレベルに。これには以下が含まれます。
改訂データ構造:
userChatrooms: { john: { chatRoom1: true, chatRoom2: true }, puf: { chatRoom1: true, chatRoom3: true } }
更新されたクエリ:
ref.child('userChatrooms').child(username)
転置インデックスの利点:
以上が参加者のプレゼンスに基づいて Firebase チャットを効率的にクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。