2017-11-19 17 views
1

firestoreでは、hueristic1を持ち、2つのhueristic1値の間にすべてのデータを取得する方法があるのだろうかと思っていますが、hueristic2に基づいて結果を並べ替えます。2つのフィールドによるFirestoreの注文

両方のページ

https://firebase.google.com/docs/firestore/query-data/order-limit-data

https://firebase.google.com/docs/firestore/query-data/query-cursors

の下部にあるデータはやや矛盾した文書があるようですので、私は尋ねます。私が行うことができるようにしたいどのような

は、私は私はおそらくH1によってインデックスに必要があるだろう知っているが、これを行う方法がある場合でも、私はよく分からない

Ref.startAt(some h1 value).endAt(some second h1 value).orderBy(h2). 

です。

答えて

1

更新:

私はそれが必要な順序を生成しないで表示するには、この十分にテストしていません。 OP asked the question againとFirebaseチームメンバーからの回答を得ました:クラウドFirestoreが供給不平等とは異なるフィールド によって順序をサポートしていないので、あなたから直接名前 でソートすることができません

クエリ。代わりに、データをフェッチした後にクライアント側で一度 をソートする必要があります。私はそれを示してドキュメントに例を見ないが、


APIは、あなたが望む機能をサポートしています。

クエリ用語の順序は重要です。あなたが都市のコレクションを持っていて、関心のあるフィールドが​​(h1)とname(h2)であるとします。 2000の範囲1000年の人口を持つ都市を取得するには、名前順、クエリは次のようになります。

citiesRef.orderBy("population").orderBy("name").startAt(1000).endAt(2000) 

このクエリでは、コンソールで手動で作成することができ、複合インデックスが必要です。それともそこ示しドキュメントとして、システムがあなたを助ける:

をする代わりに、手動で複合インデックスを定義するので、必要なインデックスを生成するためのリンクを得るためにあなたの アプリのコード内でクエリを実行します。

関連する問題