簡単にするために、次のような Firebase スキームがあるとします。
- ユーザーリスト
- ユーザー1
- 年齢 - 22
- 性別 - M
- ユーザー2
- 年齢 - 26
- 性別 - M
- ユーザー3
- 年齢 - 20
- 性別 - F
- ユーザー1
そのリストから、希望する年齢範囲と希望する性別のランダムなユーザーを取得したいとしましょう。現在、完全なユーザーリストを取得して、好みに合わないユーザーを除外し、クライアント側で一致するユーザーからランダムなユーザーを取得しています。これは少数のユーザーには問題なく機能しましたが、10,000 人のユーザーがいる場合はどうなるでしょうか?
これは非常に帯域幅が重いため、すべてのユーザーの完全なリストをダウンロードせずにこれを達成する方法はありますか? リレーショナル データベースでは where 句を使用するだけで簡単ですが、Firebase では使用できないため、完全なデータ リストを取得することを意味するすべてのクライアント側を実行する必要があると想定しています。帯域幅を最小限に抑えるための正しいアプローチは何ですか?