国別にリーダーボードを作りたい。私はそのようなクエリを試しました:国別リーダーボードクエリ
.orderByChild(COUNTRY_COLUMN)
.equalTo(country)
.orderByChild(TROPHIES_COLUMN)
しかし、Firebaseでは複数のorderBy呼び出しを組み合わせることはできません。 このようなクエリを作成するにはどうすればよいですか?
国別にリーダーボードを作りたい。私はそのようなクエリを試しました:国別リーダーボードクエリ
.orderByChild(COUNTRY_COLUMN)
.equalTo(country)
.orderByChild(TROPHIES_COLUMN)
しかし、Firebaseでは複数のorderBy呼び出しを組み合わせることはできません。 このようなクエリを作成するにはどうすればよいですか?
これを達成するために、複数の方法があり、一つは国によってフィルタリングするために、その後trhopiesによって、クライアントのために、あなたはまた、インデックスになりfirebaseで別の列、のようなものを作成することができます:
country_trophies_index: 'US_12'
し、そのプロパティをorderbyしてください。
あなたはこの回答で詳細を見ることができます:
'.orderByChild(" country_trophies_index ") .startAt(" US _ ")' しかし、それは間違った並べ替えを持っています: '1。 country_trophies_index: "US_2000" 2. country_trophies_index: "US_540" 3. country_trophies_index: "US_550" ' – markrof
これはテキストとしてソートされているため、「540」は「2000」の後にあるため、常にゼロを先頭に追加することができます"US_0000002000"や "US_0000000540"のように同じ長さです。 – Escobar5
このように動作しますが、問題はFirebaseが昇順に並べ替えることです。 – markrof
可能な重複:http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in- firebase –