orderByを使用したファイヤーストア等式フィルター

4
zee 2019-09-07 15:48.

私はFirestoreを使用しており、orderByを実行する必要がある等式フィルターを使用した非常に単純なクエリがあります(結果を制限する必要があるため)。その場合、Firebaseがエラーをスローするため、orderByでstartAfterを使用できません。

FirebaseError:Query.startAfter()に提供された引数が多すぎます。引数の数は、Query.orderBy()句の数以下である必要があります

ただし、等式フィルターでorderByを使用することはできません。例:

query.where('tags.supporter', '==', true).orderBy('tags.supporter');

これにより、Firebaseエラーがスローされます。

FirebaseError:Orderby句に等式フィルターtags.supporterを持つフィールドを含めることはできません

おかしなことに、これは問題なく機能します:-

query.where('tags.supporter', '<=', true).where('tags.supporter', '>=', true)

^これは機能し、tags.supporter == trueを取得しますが、複数のフィルターで使用することはできません。

例:

query.where('tags.supporter', '==', true).where('tags.volunteer', '==', true)

^は機能しますが、orderByなしではstartAfterを使用できません。しかし、orderByを使おうとすると、エラーが発生します:-

query.where('tags.supporter', '==', true).where('tags.volunteer', '==', true).orderBy(...)

^動作しません!

<=> =ハックは複合インデックスが必要なため実行できませんが、これらはユーザーが追加したタグであるため、設定できません。

何か案は?

これが本当に制限である場合は、私の決定に影響を与える可能性があるため、ドキュメントに明示的に記載する必要があります。これが本当に制限である場合は、結果をフィルタリングするために、自分のアプリで多くのロジックを構築する必要があります。

2 answers

3
code it up 2019-09-07 17:38.

10個の要素の配列が与えられ、その各項目の値が「5」であるとします。ここで、配列を並べ替える必要があります(つまり、orderBy ascending)、どのように並べ替えますか。答えは「すでにソートされている」です。

同じことが、最初に年齢フィルターをかけ、次に同じプロパティ、つまり年齢でorderByを使用するクエリに当てはまります。これは、範囲フィルタで罰金を作品と、それは年齢の完全な範囲を備えており、最終的に何か含まれているためORDERBYをage>=7age<=7

query.where("age", "<=", 7).where("age", ">=", 7).orderBy("age)

等しい(年齢で)フィルターは、フィルターを適用したプロパティの同じ値を持つデータのクエリセットを返します。つまり、返されるクエリセット内のすべてのデータオブジェクトは均一な年齢であり、年齢に基づく区別はありません。 (はい、確かに他のプロパティにorderByを適用することができますし、そうすべきです)。

3
zee 2019-09-08 09:50.

たくさんの試行錯誤の末、私はそれを理解しました。

.orderBy(firebase.firestore.FieldPath.documentId())を使用できます。これにより、複数の等式フィルターを使用しながら、limitとstartAfterを実行できます。

Related questions

MORE COOL STUFF

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは、夫に会ったとき、典型的な交際のアドバイスに逆らいました。

マイケルシーンが非営利の俳優である理由

マイケルシーンが非営利の俳優である理由

マイケルシーンは非営利の俳優ですが、それは正確にはどういう意味ですか?

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

特徴的なスターのコリン・エッグレスフィールドは、RomaDrama Liveでのスリル満点のファンとの出会いについて料理しました!加えて、大会での彼のINSPIREプログラム。

「たどりつけば」をオンラインでストリーミングできない理由

「たどりつけば」をオンラインでストリーミングできない理由

ノーザンエクスポージャーが90年代の最も人気のある番組の1つになった理由を確認するには、Blu-rayまたはDVDプレーヤーをほこりで払う必要があります。

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖は、世界で2番目に大きいボイリング湖です。そこにたどり着くまでのトレッキングは大変で長いですが、努力する価値は十分にあります。

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

サロンからのヘアトリミングや個人的な寄付は、油流出を吸収して環境を保護するのに役立つマットとして再利用できます。

マイアミデイド市長が郡刑務所にトランプの聖域都市制限を遵守するよう命じる

マイアミデイド市長が郡刑務所にトランプの聖域都市制限を遵守するよう命じる

AP通信を介したマイアミでのイスラム教徒の移民に関するドナルド・トランプ大統領の大統領命令に反対する集会のサインを準備している抗議者の写真。そして今、それは始まります:聖域都市からの連邦資金を削減するドナルド・トランプ大統領の最近の大統領命令に照らして、マイアミデイド郡市長カルロス・ギミネスは郡刑務所にすべての連邦拘禁要求に従うように命じました。

UHP目覚まし時計は、停止する前に特定のパスをたどるように強制します

UHP目覚まし時計は、停止する前に特定のパスをたどるように強制します

iOS:選択できる目覚まし時計アプリに不足はありません。それらの多くには、ベッドから出ることを確実にする創造的な方法があります。UHP目覚まし時計はあなたの道を追跡することによってあなたにベッドから出るように強制します。

セフォラ購入のやや恐ろしい年

セフォラ購入のやや恐ろしい年

ショックと軽度の恐怖に、私は今年、Sephora VIBRougeのメンバーになりました。これはSephoraのリワードプログラムの最高レベルです。私は暦年に1,000ドルを費やした後に資格を得ました。

ドナルド・トランプは、マイク・ペンスが討論でしたことは何でも信用します

ドナルド・トランプは、マイク・ペンスが討論でしたことは何でも信用します

APを介した悪人の画像あなたのくだらない人種差別主義者の叔父であるドナルド・トランプは、火曜日の副大統領討論会での淡いプルマンブレッドのマイク・ペンスのパフォーマンスのすべての功績を認めています。火曜日の夜の議論はたわごとでしたが、トランプは彼の男に固執しています。

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

イーサン プラスの誕生日のお祝いは、TLC のウェルカム トゥ プラスビルのシーズン 4 のフィナーレで、戦争中の母親のキム プラスと妻のオリビア プラスを結びつけました。

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

ケイト・ミドルトンはロンドンの水辺で一日を過ごし、さらにジェニファー・ロペス、ジュリアン・ハフなど

ケイト・ミドルトンはロンドンの水辺で一日を過ごし、さらにジェニファー・ロペス、ジュリアン・ハフなど

ケイト・ミドルトンはロンドンの水辺で 1 日を過ごし、ジェニファー・ロペス、ジュリアン・ハフなども。ハリウッドからニューヨークまで、そしてその間のあらゆる場所で、お気に入りのスターの活躍をご覧ください!

ウィスコンシン川でのナイフ攻撃で 17 歳の少年が刺されて死亡、他の 4 人が負傷したままになっている

ウィスコンシン川でのナイフ攻撃で 17 歳の少年が刺されて死亡、他の 4 人が負傷したままになっている

捜査官は、グループと容疑者が攻撃の前にお互いを知っていたかどうかを調べています

滑走路着陸

滑走路着陸

晩夏と秋はノスタルジックな季節。街灯は雨で濡れた通りに光を放ち、足元の葉 - 夕暮れの影の中で落ち着いた赤オレンジ - は過ぎ去った日々を思い出させます。

実際に変換するコンテンツ戦略を作成することを想像してみてください。それが可能だ。

実際に変換するコンテンツ戦略を作成することを想像してみてください。それが可能だ。

2021 年には、サービスを提供する顧客と顧客に伝えるストーリーについて知っていることをすべて再考することをお勧めします。あとずさりする。

マンモスロスは私の心を愛に開いた

マンモスロスは私の心を愛に開いた

フェリックス ザ キャットの 9 歳の誕生日の日に、大人になってからの最大の損失の 1 つである 2013 年のソフィーを思い出します。私はこのエッセイを書き、2013 年にこのプラットフォームで簡単に共有しました。

あなたがインターネットがあなたに望んでいる人になれないとき

あなたがインターネットがあなたに望んでいる人になれないとき

私は「列車事故」という言葉が嫌いです。人々は自分自身の道徳的羅針盤に安らぎを覚え、そうすることで自分自身が判断を下していることに気づきます。

Language