Wybierz strukturę danych

Pamiętaj, że podczas strukturyzowania danych w sekcji Cloud Firestore masz do wyboru kilka opcji:

  • Dokumenty
  • Wiele kolekcji
  • Podkolekcji w dokumentach

Zastanów się nad zaletami każdej opcji w związku z Twoim przypadkiem użycia. W tym przewodniku znajdziesz kilka przykładowych struktur danych hierarchicznych.

Zagnieżdżone dane w dokumentach

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

  • Zalety: jeśli masz proste, stałe listy danych, które chcesz zachować w dokumentach, możesz łatwo skonfigurować tę opcję i uprościć strukturę danych.
  • Ograniczenia: ta metoda nie jest tak elastyczna jak inne opcje, zwłaszcza jeśli z czasem zwiększa się ilość danych. W przypadku większych lub stale rosnących list dokument również się powiększa, co może prowadzić do wydłużenia czasu pobierania dokumentu.
  • Jaki jest możliwy przypadek użycia? W aplikacji do czatu możesz na przykład przechowywać 3 ostatnio odwiedzone pokoje czatu użytkownika jako listę zagnieżdżoną na jego profilu.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

Podkolekcji

Jeśli masz dane, które mogą się zmienić w czasie, możesz tworzyć kolekcje w dokumentach.

  • Zalety: wraz z powiększaniem się list rozmiar dokumentu nadrzędnego się nie zmienia. Masz też pełne możliwości wyszukiwania w podkolekcjach i możesz wysyłać zapytania dotyczące grupy kolekcji w podkolekcjach.
  • Ograniczenia: nie możesz łatwo usuwać podkolekcji.
  • Jaki jest możliwy przypadek użycia? W tej samej aplikacji do czatu możesz na przykład tworzyć kolekcje użytkowników lub wiadomości w dokumentach pokoju czatu.
  • nauka
    • software
        name : "software chat"
      • użytkowników
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • astrofizyka

Kolekcje na poziomie katalogu głównego

Aby uporządkować różne zbiory danych, twórz kolekcje na poziomie głównym bazy danych.

  • Zalety: kolekcje na poziomie katalogu głównego są przydatne w przypadku relacji „wiele do wielu” i umożliwiają tworzenie zapytań o dużej mocy w ramach każdej kolekcji.
  • Ograniczenia: w miarę wzrostu bazy danych uzyskiwanie danych o naturalnej strukturze hierarchicznej może stać się coraz bardziej skomplikowane.
  • Jaki jest możliwy przypadek użycia? W tej samej aplikacji do czatu możesz na przykład utworzyć jedną kolekcję dla użytkowników, a drugą dla pokoi i wiadomości.
  • Użytkownicy:
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  •  sal
    • oprogramowanie
      • wiadomości
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."