Firestore의 하위 컬렉션에있는 모든 문서의 특정 값 목록을 가져옵니다.

혼란스러운

하위 컬렉션을 처리하고 Android로 데이터를 가져 오는 데 문제가 있습니다.

내 Firestore 구조는 다음과 같습니다.

메인 컬렉션

그리고 여기에 문제가 있습니다.

메인 컬렉션과 서브 컬렉션

내가 원하는 것 : 다른 쿼리에서 사용하기 위해 하위 컬렉션의 모든 productID 필드를 검색합니다. 내가 갇힌 것 : 실제로 어떻게할까요? 나는 모든 소방서 관련 질문을 스토킹했지만 길을 잃을뿐입니다. 이것은 내가 시도한 것입니다. 네, 저는 RecylcerView와 함께 일하고 있습니다.

 private FirebaseFirestore db = FirebaseFirestore.getInstance();
    private CollectionReference panieref = db.collection("panier");
    private CollectionReference prodref = db.collection("products");
 private void setUpRecyclerView(){//for loading items from firestore
        final List<List<DocumentSnapshot>> productsList=new ArrayList<>();
        Query query =panieref.whereEqualTo("ID_del",newcom.getID_del());
        panieref.whereEqualTo("ID_del",newcom.getID_del()).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull final Task<QuerySnapshot> task) {
                if(task.isSuccessful()){
                   for(final QueryDocumentSnapshot document : Objects.requireNonNull(task.getResult())) {
                     prodref.whereEqualTo("productID", Objects.requireNonNull(document.get("productID")).toString()).get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                         @Override
                         public void onSuccess(QuerySnapshot queryDocumentSnapshots) {

                             if(task.isSuccessful()){
                                 CollectionReference ProdColRef=panieref.document((String) Objects.requireNonNull(document.get("product_ID"))).collection("produits");

                                 productsList.add(task.getResult().getDocuments());
                             }
                         }
                     });

                   } }
            }
        });
        adapter= new detailsAdapter(productsList);
        //call up the recyclerview from the itemlist layout into the main activity layout
        RecyclerView recyclerView = findViewById(R.id.items_recycler_view);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(getApplicationContext()));
        recyclerView.setAdapter(adapter);
    }

제발 도와주세요, 일주일이 지났고 진행 상황이 표시되지 않았고 너무 많은 코드 줄을 스크랩했습니다. 꽤 쓸모없는 것 같습니다.

프랭크 반 푸 펠렌

지금은 다음을 사용하여 제품 컬렉션에 대한 참조를 만들고 있습니다.

private CollectionReference prodref = db.collection("products");

즉, Firestore는 products내가 할 수있는 한 데이터베이스에 존재하지 않는 최상위 컬렉션 이름을 찾습니다 .

특정 panier문서 에서 제품 컬렉션을 원하면 해당 문서를 호출해야합니다 collection("products").

FirebaseFirestore db = FirebaseFirestore.getInstance();
CollectionReference panieref = db.collection("panier");

final List<List<DocumentSnapshot>> productsList=new ArrayList<>();
Query query =panieref.whereEqualTo("ID_del",newcom.getID_del());
panieref.whereEqualTo("ID_del",newcom.getID_del()).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
  @Override
  public void onComplete(@NonNull final Task<QuerySnapshot> task) {

    if(task.isSuccessful()){
       for(final QueryDocumentSnapshot document : Objects.requireNonNull(task.getResult())) {
         CollectionReference prodref = document.getReference().collection("products");

         prodref.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
           @Override
           public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
             if(task.isSuccessful()){
               productsList.add(task.getResult().getDocuments());
             }
           }
         });
       } 
    }
  }
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Firestore는 하위 컬렉션의 모든 문서를 가져옵니다.

분류에서Dev

queryBuilder를 사용하여 aem에서 특정 속성의 모든 값을 가져옵니다.

분류에서Dev

mongodb에서 특정 (문자열) 값을 포함하는 컬렉션의 모든 키를 얻는 방법

분류에서Dev

재귀를 사용하여 특정 매개 변수가있는 컬렉션의 모든 조합을 가져옵니다.

분류에서Dev

Firestore는 값 배열의 항목과 일치하는 모든 값을 가져옵니다.

분류에서Dev

Flutter를 사용하여 Firestore에서 모든 컬렉션의 하위 컬렉션을 가져 오는 방법

분류에서Dev

SharePoint 검색을 쿼리하여 작성자가 A 또는 B 인 특정 이름의 목록에서 모든 작업을 가져옵니다.

분류에서Dev

Terraform의 모든 유형에서 특정 키에 대한 값을 가져옵니다.

분류에서Dev

목록의 가능한 모든 하위 목록을 가져옵니다.

분류에서Dev

Firebase 데이터베이스의 모든 하위 항목에서 특정 값을 가져온 다음 추가하는 방법은 무엇입니까?

분류에서Dev

resource : // * URL의 모든 최상위 디렉토리 목록을 가져옵니다.

분류에서Dev

컬렉션에있는 문서의 이름이 같은 필드의 모든 값을 합산합니다.

분류에서Dev

Cloud Firestore에서 컬렉션의 모든 문서와 하위 컬렉션을 효율적으로 가져 오는 방법

분류에서Dev

strapi 컬렉션의 모든 항목을 가져옵니다

분류에서Dev

VB.Net에서 ListView의 특정 열에있는 모든 값의 합계를 가져옵니다.

분류에서Dev

Firebase의 모든 하위 위치에서 특정 개체 값을 가져 오는 방법

분류에서Dev

Javascript는 모든 드롭 다운의 값을 가져옵니다.

분류에서Dev

각각 다른 개체 컬렉션을 포함하는 개체 컬렉션에 LINQ를 통해 List <string>의 모든 값이 포함되어 있는지 확인

분류에서Dev

Arraylist는 모든 배열 위치의 모든 행에 대해 동일한 값을 가져옵니다.

분류에서Dev

Firestore의 문서 ID 배열에서 모든 하위 컬렉션 문서를 가져 오는 방법

분류에서Dev

Firebase Android는 하위 값의 하위 값을 가져옵니다.

분류에서Dev

특정 배열 필드에 값이 있는지 쿼리-컬렉션 내의 모든 문서

분류에서Dev

C #에서 Selenium을 사용하여 특정 클래스가있는 모든 요소의 속성 값 목록 가져 오기

분류에서Dev

집계를 사용하여 컬렉션의 모든 레코드에 대해 특정 값을 추가하는 방법

분류에서Dev

목록 내의 목록에서 특정 값을 가져와야합니다.

분류에서Dev

특정 범위에 속하는 값의 일일 백분율을 가져옵니다.

분류에서Dev

Angular는 특정 폴더 내의 모든 파일 이름을 가져옵니다.

분류에서Dev

목록 항목에 대한 사전 값을 설정하면 목록의 모든 사전에 중복됩니다.

분류에서Dev

클래스 객체에서 특정 값을 확인하고 다른 키의 값을 가져옵니다.

Related 관련 기사

  1. 1

    Firestore는 하위 컬렉션의 모든 문서를 가져옵니다.

  2. 2

    queryBuilder를 사용하여 aem에서 특정 속성의 모든 값을 가져옵니다.

  3. 3

    mongodb에서 특정 (문자열) 값을 포함하는 컬렉션의 모든 키를 얻는 방법

  4. 4

    재귀를 사용하여 특정 매개 변수가있는 컬렉션의 모든 조합을 가져옵니다.

  5. 5

    Firestore는 값 배열의 항목과 일치하는 모든 값을 가져옵니다.

  6. 6

    Flutter를 사용하여 Firestore에서 모든 컬렉션의 하위 컬렉션을 가져 오는 방법

  7. 7

    SharePoint 검색을 쿼리하여 작성자가 A 또는 B 인 특정 이름의 목록에서 모든 작업을 가져옵니다.

  8. 8

    Terraform의 모든 유형에서 특정 키에 대한 값을 가져옵니다.

  9. 9

    목록의 가능한 모든 하위 목록을 가져옵니다.

  10. 10

    Firebase 데이터베이스의 모든 하위 항목에서 특정 값을 가져온 다음 추가하는 방법은 무엇입니까?

  11. 11

    resource : // * URL의 모든 최상위 디렉토리 목록을 가져옵니다.

  12. 12

    컬렉션에있는 문서의 이름이 같은 필드의 모든 값을 합산합니다.

  13. 13

    Cloud Firestore에서 컬렉션의 모든 문서와 하위 컬렉션을 효율적으로 가져 오는 방법

  14. 14

    strapi 컬렉션의 모든 항목을 가져옵니다

  15. 15

    VB.Net에서 ListView의 특정 열에있는 모든 값의 합계를 가져옵니다.

  16. 16

    Firebase의 모든 하위 위치에서 특정 개체 값을 가져 오는 방법

  17. 17

    Javascript는 모든 드롭 다운의 값을 가져옵니다.

  18. 18

    각각 다른 개체 컬렉션을 포함하는 개체 컬렉션에 LINQ를 통해 List <string>의 모든 값이 포함되어 있는지 확인

  19. 19

    Arraylist는 모든 배열 위치의 모든 행에 대해 동일한 값을 가져옵니다.

  20. 20

    Firestore의 문서 ID 배열에서 모든 하위 컬렉션 문서를 가져 오는 방법

  21. 21

    Firebase Android는 하위 값의 하위 값을 가져옵니다.

  22. 22

    특정 배열 필드에 값이 있는지 쿼리-컬렉션 내의 모든 문서

  23. 23

    C #에서 Selenium을 사용하여 특정 클래스가있는 모든 요소의 속성 값 목록 가져 오기

  24. 24

    집계를 사용하여 컬렉션의 모든 레코드에 대해 특정 값을 추가하는 방법

  25. 25

    목록 내의 목록에서 특정 값을 가져와야합니다.

  26. 26

    특정 범위에 속하는 값의 일일 백분율을 가져옵니다.

  27. 27

    Angular는 특정 폴더 내의 모든 파일 이름을 가져옵니다.

  28. 28

    목록 항목에 대한 사전 값을 설정하면 목록의 모든 사전에 중복됩니다.

  29. 29

    클래스 객체에서 특정 값을 확인하고 다른 키의 값을 가져옵니다.

뜨겁다태그

보관