Catch up on highlights from Firebase at Google I/O 2023. Learn more

Wybierz strukturę danych

Pamiętaj, kiedy porządkujesz swoje dane w Cloud Firestore, masz kilka różnych opcji:

  • Dokumenty
  • Wiele kolekcji
  • Podzbiory w dokumentach

Rozważ zalety każdej opcji w odniesieniu do twojego przypadku użycia. W tym przewodniku przedstawiono kilka przykładowych struktur danych hierarchicznych.

Zagnieżdżone dane w dokumentach

W dokumentach można zagnieżdżać złożone obiekty, takie jak tablice lub mapy.

  • Zalety: jeśli masz proste, stałe listy danych, które chcesz przechowywać w swoich dokumentach, jest to łatwe do skonfigurowania i usprawnia strukturę danych.
  • Ograniczenia: To nie jest tak skalowalne jak inne opcje, zwłaszcza jeśli Twoje dane rozszerzają się w czasie. W przypadku większych lub rosnących list dokument również się rozrasta, co może prowadzić do wydłużenia czasu pobierania dokumentów.
  • Jaki jest możliwy przypadek użycia? Na przykład w aplikacji do czatu możesz przechowywać 3 ostatnio odwiedzane przez użytkownika pokoje rozmów jako zagnieżdżoną listę w jego profilu.
  • zakochana
    • nazwa :
      pierwszy: „Ada”
      ostatni: „Lovelace”
      urodzony: 1815 r
      pokoje:
      0 : „Czat programowy”
      1 : „Słynne postacie”
      2 : „Znani SWE”

Podkolekcje

Możesz tworzyć kolekcje w dokumentach, gdy masz dane, które mogą się powiększać w czasie.

  • Zalety: W miarę powiększania się list rozmiar dokumentu nadrzędnego nie zmienia się. Otrzymujesz również pełne możliwości zapytań w podkolekcjach i możesz wysyłać zapytania do grup kolekcji w podkolekcjach.
  • Ograniczenia: Nie można łatwo usuwać podkolekcji.
  • Jaki jest możliwy przypadek użycia? Na przykład w tej samej aplikacji czatu możesz tworzyć kolekcje użytkowników lub wiadomości w dokumentach pokojów rozmów.
  • nauka
    • oprogramowanie
      nazwa: „czat programowy”
      • użytkowników
        • zakochana
          pierwszy: „Ada”
          ostatni: „Lovelace”
        • przejażdżka
          pierwszy: „Sally”
          ostatni: „Jazda”`


    • astrofizyka
      • ...

Kolekcje na poziomie głównym

Twórz kolekcje na poziomie głównym bazy danych, aby organizować różne zestawy danych.

  • Zalety: kolekcje na poziomie głównym są dobre dla relacji wiele-do-wielu i zapewniają zaawansowane zapytania w ramach każdej kolekcji.
  • Ograniczenia: Pobieranie danych, które są naturalnie hierarchiczne, może stawać się coraz bardziej złożone w miarę rozrastania się bazy danych.
  • Jaki jest możliwy przypadek użycia? Na przykład w tej samej aplikacji do czatu możesz utworzyć jedną kolekcję dla użytkowników, a drugą dla pokoi i wiadomości.
  • użytkowników
    • zakochana
      pierwszy: „Ada”
      ostatni: „Lovelace”
      urodzony: 1815 r
    • przejażdżka
      pierwszy: „Sally”
      Ostatnia przejażdżka"
      urodzony: 1951 r
  • pokoje
    • oprogramowanie
      • wiadomosci
        • wiadomość 1
          od: „alovelace”
          treść : "..."
        • wiadomość 2
          od: „sride”
          treść : "..."