Firestore 쿼리를 로컬로 병합
Firestore로 작업할 때 쿼리를 결합하는 논리 OR 연산자가 없습니다. 두 개의 개별 쿼리를 로컬에서 병합하려면 Tasks.whenAllSuccess() 메서드를 활용할 수 있습니다.
Tasks.whenAllSuccess()는 작업 목록을 인수로 사용하고 모든 입력 작업이 성공적으로 완료되는 경우에만 새 작업을 반환합니다. 성공적으로 완료되었습니다. 반환된 작업의 결과는 입력 작업이 전달된 순서와 동일한 입력 작업 결과 목록입니다.
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) { // Do what you need to do with your list } });
결합된 작업의 onSuccess() 메서드를 재정의하면 인수로 전달된 작업의 정확한 순서와 함께 개체 목록을 받게 됩니다. whenAllSuccess() 메서드에 추가합니다. 이를 통해 적절한 순서를 유지하면서 두 쿼리의 결과를 병합할 수 있습니다.
Tasks.whenAllSuccess() 대신 Tasks.continueWith()를 사용하여 유사한 결과를 얻는 것도 고려할 수 있습니다. 그러나 두 가지 방법 중 선택은 애플리케이션의 특정 사용 사례에 따라 달라집니다. Tasks.continueWith()에 대한 자세한 내용은 공식 문서를 참조하세요.
위 내용은 Tasks.whenAllSuccess()를 사용하여 Firestore 쿼리를 로컬에서 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!