>  기사  >  Java  >  순서를 유지하면서 Firestore 쿼리를 로컬로 병합하는 방법은 무엇입니까?

순서를 유지하면서 Firestore 쿼리를 로컬로 병합하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-15 06:32:02542검색

How to Merge Firestore Queries Locally While Preserving Order?

적절한 순서를 지정하여 로컬에서 Firestore 쿼리 병합

Firestore에 논리 OR 연산자가 없는 경우 원하는 결과를 검색하려면 두 개의 개별 쿼리를 로컬에서 병합해야 합니다. 올바른 순서를 유지하려면 첫 번째 쿼리의 성공 리스너 내에 두 번째 쿼리를 중첩하는 대신 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() 메서드는 제공된 모든 작업이 성공적으로 완료되면 완료될 Task를 반환합니다. 작업의 결과는 개체 목록이며, 각 개체는 해당 작업의 결과를 나타냅니다. 이 경우 목록에는 각각 firstTask 및 secondTask의 결과를 나타내는 두 개의 요소가 포함됩니다. 목록의 요소 순서는 작업이 whenAllSuccess()에 지정된 순서와 일치합니다.

이 접근 방식을 사용하면 작업 순서에 따라 결과가 정렬되므로 적절한 순서를 유지하면서 여러 쿼리의 결과를 얻습니다.

위 내용은 순서를 유지하면서 Firestore 쿼리를 로컬로 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.