Wybierz strukturę danych

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

  • Dokumenty
  • Wiele kolekcji
  • Podkolekcje w dokumentach

Zastanów się nad zaletami każdej opcji w kontekście Twojego przypadku 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 je łatwo skonfigurować i usprawnić strukturę danych.
  • Ograniczenia: to rozwiązanie nie jest tak skalowalne jak inne opcje, zwłaszcza jeśli ilość danych będzie się zwiększać z czasem. W przypadku większych lub rosnących list dokument również się powiększa, co może prowadzić do dłuższego czasu pobierania dokumentu.
  • Jakie są możliwe przypadki użycia? Na przykład w aplikacji do obsługi czatu możesz przechowywać 3 ostatnio odwiedzone przez użytkownika pokoje czatu jako zagnieżdżoną listę w jego profilu.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

Podkolekcje

Możesz tworzyć kolekcje w dokumentach, gdy masz dane, które mogą się rozszerzać z upływem czasu.

  • Zalety: gdy listy się powiększają, rozmiar dokumentu nadrzędnego się nie zmienia. Możesz też korzystać z pełnych możliwości zapytań w podkolekcjach i wysyłać zapytania do grup kolekcji w podkolekcjach.
  • Ograniczenia: nie można łatwo usuwać podkolekcji.
  • Jakie są możliwe przypadki użycia? W tej samej aplikacji do obsługi czatu możesz na przykład utworzyć kolekcje użytkowników lub wiadomości w dokumentach pokoju czatu.
  •  – nauki ścisłe
    • oprogramowanie
        name : "software chat"
      • użytkownicy
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    •  astrophysics
      • …

Kolekcje na poziomie głównym

Twórz kolekcje na poziomie głównym bazy danych, aby porządkować różne zbiory danych.

  • Zalety: kolekcje na poziomie głównym dobrze sprawdzają się w przypadku relacji wiele do wielu i zapewniają zaawansowane możliwości wysyłania zapytań w ramach każdej kolekcji.
  • Ograniczenia: pobieranie danych, które mają naturalną strukturę hierarchiczną, może stawać się coraz bardziej złożone w miarę rozrastania się bazy danych.
  • Jakie są możliwe przypadki użycia? W tej samej aplikacji do obsługi czatu możesz na przykład utworzyć jedną kolekcję dla użytkowników, a inną 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 : "..."