Firestore クエリをローカルでマージする
Firestore には論理 OR 演算子がないため、複数のクエリをローカルでマージするのが難しい場合があります。 1 つのアプローチは、別のクエリの onSuccessListener 内にクエリをネストすることです。ただし、これによりパフォーマンスに関する懸念が生じる可能性があります。
これに対処するには、タスクを使用する代替ソリューションをお勧めします。 whenAllSuccess() メソッドは 2 つ以上のタスクをマージし、すべてのタスクが正常に完了するとコールバックを呼び出します。
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) { //Do what you need to do with your list } });
この例では、onSuccess() コールバックに渡されるリストには、両方のクエリの結果が含まれています。
もう 1 つのオプションは continueWith() メソッドです。これはタスクをチェーンし、前のタスクが正常に完了したときにコールバックを呼び出します。 whenAllSuccess() と continueWith() のどちらを選択するかは、特定のアプリケーション要件とユースケースによって異なります。
以上がタスクを使用してローカルで Firestore クエリをマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。