인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김명수님의 프로필 이미지

작성한 질문수

[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기

리스트뷰에 subcollection은 어떻게 연결하나요?

작성

·

76

0

  • users 밑에 subcollection을 만들었는데

  • 리스트뷰에 subcollection을 연결하려면 어떻게 하나요?

  • 아무리 찾아봐도 첫번째 collection 밖에 못찾겠습니다.

답변 3

0

피어낫프로덕님의 프로필 이미지
피어낫프로덕
지식공유자

안녕하세요 명수님,

질문 주셔서 감사 드립니다.

질문은 추가질문까지 고려하여, 잘 이해 했습니다.

 

우선 다음과 같이 Users_sub 이라는 Subcollection이 있다고 가정을 합니다.

image.png

 

 

우선, Subcollection을 부를 위젯을 만듭니다.

간단한 Listview를 만들었다고 합니다.

 

Database에 가서 Query Collection을 합니다.

그러면 이 때 Collection을 선택해야 하는데, 위에서 만든 'users_sub'을 선택합니다.

(subcollection이어도 선택할 수 있습니다.)

 

이후 Value Source, 즉 subcollection의 부모가 되는 소스를 선택하라고 나오는데요.

그 때 명수님이 선택하고자 하는 주체를 선택해 주시면 됩니다.

 

예를 들어 친구들을 나열했다면, 친구들에 해당하는 users(Document Reference가 되겠네요)를 선택해 주시면 됩니다.

(*이 때 당연하게도, Listview위젯 상위에서, subcollection의 부모가 되는 데이터베이스를 query collection을 통해 이미 호출한 상태여야 선택이 가능하겠지요)

 

image.png

 

 

요약하자면, subcollection은 query collection을 통해 부르고, source를 잘 선택해주면 된다 입니다.

도움이 되었으면 좋겠습니다.

감사합니다.

 

 

김명수님의 프로필 이미지
김명수
질문자

답변 감사합니다.

그런데 제가 원하는 것은 이user가 친구들 중에서 선택이 아니라

나의 subcollection입니다.

그리고 위와 같이도 구현해 보았으나

다른 collection은 파라미터를 통해 가져올 수 있는데

users collection에서는 파라미터전달이 안되네요

제가 잘 못했는지는 모르겠지만요
어쨌든 감사합니다.

다른 방법을 연구하고 있습니다.

감사합니다

0

김명수님의 프로필 이미지
김명수
질문자

제가 완초라서 그런지 설명을 봐도 이해를 못하겠어요

동영상이나 아니면 상세한 메뉴 단계를 알려주시면 감사하겠습니다.
listview에서놓고>AddQuery>하면 4종(QueryCol/DocumentFromRe/APICall/Algolia)이 나오는데 접근방법이 틀렸나요? 사전에 무슨 작업이 필요한가요?

김명수님의 프로필 이미지
김명수
질문자

제가 하려는 것은

자기의 users의 밑에 있는 subcollection에

  1. 문서를 추가하고,

  2. 문서들을 list하려 합니다.

     

  3. 지도 부탁드립니다

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 김명수님, 리스트뷰에 Firebase의 subcollection을 연결하려는 시도를 하고 계신데요, 이와 관련된 해결책을 안내해 드리겠습니다.

Firebase Subcollection 리스트뷰 연결 방법

  1. Firestore Query 설정:

    • Firestore에서 subcollection에 접근하기 위해서는 부모 document의 ID를 알고 있어야 합니다.
    • 일반적으로 Firestore에서는 Main Collection -> Document -> Subcollection 형태로 데이터가 저장되기 때문에 ListView에서는 대부분 Main Collection의 Document를 기준으로 하위 Subcollection의 데이터를 읽어옵니다.
  2. ListView에 Subcollection 연결:

    • Firebase에서 특정 Document의 하위 Subcollection을 조회하려면, 해당 Document의 ID를 명확히 파악하고 있어야 합니다. 예를 들어, users/{userId}/subcollection 이런 형태로 접근합니다.
    • FlutterFlow를 사용하는 경우, 기본적으로 제공되는 firestore 데이터를 통해 Document를 Query하고, 하위 Subcollection을 위해서는 Firebase의 nested collection 기능을 사용하여 데이터를 가져올 수 있습니다.
  3. FlutterFlow Setting:

    • FlutterFlow에서 ListView에 연결하려면, Backend Query 설정 단계에서 Subcollection을 선택하는 기능이 제공됩니다.
    • 설정을 통해, Document -> Subcollection 순서로 데이터를 불러오게 하고, ListView를 통해 데이터를 렌더링해줄 수 있습니다.

관련 유사 질문 해결 사례

아래 유사한 해결 사례를 참고해 보시면, 보다 쉽게 이해하실 수 있습니다:

  • 스키마 내부의 list 가져오기: 이 질문에서는 FlutterFlow에서 Subcollection과 관련된 데이터를 어떻게 불러오는지에 대한 자세한 설명이 포함되어 있습니다.

쓰신 방법과 결과가 잘 맞지 않으신다면, Firebase의 Document 구조와 FlutterFlow의 Query 설정을 재검토해보시면 좋겠습니다. 부족한 부분에 대해서는 제가 찾은 자료를 바탕으로 안내 드렸지만, 혹시 추가적인 이해가 필요하거나, 다른 문제가 지속된다면 이어서 질문해 주시기 바랍니다. 곧 지식공유자께서 답변해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.