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

데이터 구조 선택

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

Cloud Firestore에서 데이터를 구조화할 때 몇 가지 다른 옵션이 있음을 기억하세요.

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

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

문서의 중첩 데이터

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

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

하위 컬렉션

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

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


    • 천체 물리학
      • ...

루트 수준 컬렉션

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

  • 장점: 루트 수준 컬렉션은 다대다 관계에 적합하며 각 컬렉션 내에서 강력한 쿼리를 제공합니다.
  • 제한 사항: 자연스럽게 계층적인 데이터를 가져오는 것은 데이터베이스가 커짐에 따라 점점 더 복잡해질 수 있습니다.
  • 가능한 사용 사례는 무엇입니까? 예를 들어 동일한 채팅 앱에서 사용자를 위한 컬렉션을 만들고 채팅방과 메시지를 위한 컬렉션을 만들 수 있습니다.
  • 사용자
    • 러브레이스
      첫 번째 : "아다"
      마지막 : "Lovelace"
      출생 : 1815년
    • 라이드
      첫 번째 : "샐리"
      마지막 탑승"
      출생 : 1951년
  • _북마크 방
    • 소프트웨어
      • 메시지
        • 메시지1
          from : "alovelace"
          콘텐츠 : "..."
        • 메시지2
          from : "스라이드"
          콘텐츠 : "..."