Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

데이터 구조 선택

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Cloud Firestore에서 데이터를 구조화할 때 다음과 같은 몇 가지 옵션이 있습니다.

  • 서류
  • 여러 컬렉션
  • 문서 내의 하위 컬렉션

사용 사례와 관련된 각 옵션의 장점을 고려하십시오. 계층적 데이터에 대한 몇 가지 예제 구조가 이 가이드에 설명되어 있습니다.

문서의 중첩 데이터

문서 내에서 배열이나 맵과 같은 복잡한 개체를 중첩할 수 있습니다.

  • 장점: 문서 내에 유지하려는 단순하고 고정된 데이터 목록이 있는 경우 설정이 쉽고 데이터 구조가 간소화됩니다.
  • 제한 사항: 특히 시간이 지남에 따라 데이터가 확장되는 경우 다른 옵션만큼 확장 가능하지 않습니다. 목록이 크거나 늘어나면 문서도 커지므로 문서 검색 시간이 느려질 수 있습니다.
  • 가능한 사용 사례는 무엇입니까? 예를 들어 채팅 앱에서 사용자가 가장 최근에 방문한 3개의 채팅방을 프로필에 중첩된 목록으로 저장할 수 있습니다.
  • 사랑스러운
    • 이름 :
      첫 번째 : "에이다"
      마지막 : "Lovelace"
      출생 : 1815
      객실 :
      0 : "소프트웨어 채팅"
      1 : "유명 인물"
      2 : "유명한 SWE"

하위 컬렉션

시간이 지남에 따라 확장될 수 있는 데이터가 있는 경우 문서 내에서 컬렉션을 만들 수 있습니다.

  • 장점: 목록이 커져도 상위 문서의 크기는 변경되지 않습니다. 또한 하위 컬렉션에서 전체 쿼리 기능을 사용할 수 있으며 하위 컬렉션 전체에서 컬렉션 그룹 쿼리 를 실행할 수 있습니다.
  • 제한 사항: 하위 컬렉션은 쉽게 삭제할 수 없습니다.
  • 가능한 사용 사례는 무엇입니까? 예를 들어 동일한 채팅 앱에서 채팅방 문서 내에 사용자 또는 메시지 모음을 만들 수 있습니다.
  • 과학
    • 소프트웨어
      이름: "소프트웨어 채팅"
      • 사용자
        • 사랑스러운
          첫 번째 : "에이다"
          마지막 : "Lovelace"
        • 라이드
          첫 번째 : "샐리"
          마지막 : "라이드"`


    • 천체 물리학
      • ...

루트 수준 컬렉션

데이터베이스의 루트 수준에서 컬렉션을 생성하여 서로 다른 데이터 세트를 구성합니다.

  • 장점: 루트 수준 컬렉션은 다대다 관계에 적합하며 각 컬렉션 내에서 강력한 쿼리를 제공합니다.
  • 제한 사항: 기본적으로 계층적인 데이터를 가져오는 것은 데이터베이스가 커짐에 따라 점점 더 복잡해질 수 있습니다.
  • 가능한 사용 사례는 무엇입니까? 예를 들어 동일한 채팅 앱에서 사용자용 컬렉션 하나와 채팅방 및 메시지용 컬렉션 하나를 만들 수 있습니다.
  • 사용자
    • 사랑스러운
      첫 번째 : "에이다"
      마지막 : "Lovelace"
      출생 : 1815
    • 라이드
      첫 번째 : "샐리"
      마지막 탑승"
      출생 : 1951년
    • 소프트웨어
      • 메시지
        • 메시지1
          출처 : "allovelace"
          콘텐츠 : "..."
        • 메시지2
          에서 : "sride"
          콘텐츠 : "..."