順序を維持しながらローカルで Firestore クエリをマージするにはどうすればよいですか?

DDD
リリース: 2024-11-15 06:32:02
オリジナル
550 人が閲覧しました

How to Merge Firestore Queries Locally While Preserving Order?

適切な順序で Firestore クエリをローカルでマージする

Firestore に論理 OR 演算子がない場合、目的の結果を取得するには、2 つの別個のクエリをローカルでマージする必要があります。適切な順序を維持するには、最初のクエリの成功リスナー内に 2 番目のクエリをネストする代わりに、Tasks.whenAllSuccess() メソッドを使用することを検討してください。

推奨されるアプローチを示すコード スニペットは次のとおりです。

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
Query firstQuery = rootRef...;
Query secondQuery = rootRef...;

Task firstTask = firstQuery.get();
Task secondTask = secondQuery.get();

Task combinedTask = Tasks.whenAllSuccess(firstTask, secondTask).addOnSuccessListener(new OnSuccessListener<List<Object>>() {
    @Override
    public void onSuccess(List<Object> list) {
         // The results are ordered according to the order of the queries
         // ...
    }
});
ログイン後にコピー

whenAllSuccess() メソッドは、指定されたすべてのタスクが正常に完了したときに完了するタスクを返します。タスクの結果はオブジェクトのリストであり、各オブジェクトは対応するタスクの結果を表します。この場合、リストには 2 つの要素が含まれ、それぞれが firstTask と SecondTask の結果を表します。リスト内の要素の順序は、タスクが whenAllSuccess() に指定された順序と一致します。

このアプローチにより、結果がタスクの順序に基づいて順序付けされるため、要素をマージできます。適切な順序を維持しながら、複数のクエリの結果を取得します。

以上が順序を維持しながらローカルで Firestore クエリをマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート