2017-07-27 25 views
1

:デフォルトではFirebaseデータベースで降順にソートFirebaseリアルタイムデータベース書籍のリストがあり

[ 
    { 
    title: "Don't Make Me Think", 
    upvotes: 110 
    }, 
    { 
    title: "The Mythical Man Month", 
    upvotes: 111 
    }, 
    { 
    title: "Code Complete 2", 
    upvotes: 112 
    } 
] 

、戻り以下のクエリASC順のリスト:

firebase.database().ref('books').orderByChild('ups') 

方法代わりにupvotes DESCで質問して注文できますか?

+1

を見ることができます。レンダリング時には再び正の整数に変換する必要があります。もしそうなら、私のデータベースのデータは本のアップアップを真に反映していないので、ちょっとハッキリしているようです。 – puoyaahhh

+2

私はその懸念を理解しています。しかし、それは数字です - それが肯定的であれ否定的であれ、それが何を表しているかを知っています。オプションで、ソートに使用できる別の子ノードに数値の負のバージョンを格納することができます。あなたはいつもコードでソートすることもできます。 – Jay

答えて

3

残念ながら、firebaseは降順で返却することはできません。私は一般的にクライアント側に返された結果の順序を逆転させました。あなたのデータのクエリは、クライアント側をソートするために大きすぎる場合

あなたは

firebase.database().ref('books').orderByChild('ups').limitToLast(2) 

を行い、そこから結果を反転させることができます。ドキュメントは、私が正しいだ場合は、上記のリンクで提案された解決策は、私が負の数として `upvote`プロパティを保存することを示唆しているhere