値に基づいて特定の数の Firebase データ エントリを取得する方法はありますか。たとえば、特定のエントリに 100 個の子があり、それぞれに数値がある場合、上位 10 個の値を持つ子を要求する方法はありますか?
編集:親を要求し、最大値を持つ 10 が見つかるまでデータの階層全体を反復することができることを認識していますが、特に親に何千もの子が含まれている場合、これはユーザーのデータの無駄になります。
値に基づいて特定の数の Firebase データ エントリを取得する方法はありますか。たとえば、特定のエントリに 100 個の子があり、それぞれに数値がある場合、上位 10 個の値を持つ子を要求する方法はありますか?
編集:親を要求し、最大値を持つ 10 が見つかるまでデータの階層全体を反復することができることを認識していますが、特に親に何千もの子が含まれている場合、これはユーザーのデータの無駄になります。
レコードを保存するときは、setPriorityを使用します。次に、次のように最高値のものを取得できます。
firebaseRef.child.limit(10).on(...);
または、次のように特定のセットをページ分割または取得できます。
firebaseRef.endAt(250).limit(10).on(...);