Wybierz strukturę danych

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

  • Dokumenty
  • Wiele kolekcji
  • Podzbiory w dokumentach

Rozważ zalety 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 lub mapy.

  • Zalety: jeśli masz proste, stałe listy danych, które chcesz zachować w dokumentach, ta metoda jest łatwa do skonfigurowania i upraszcza strukturę danych.
  • Ograniczenia: to rozwiązanie nie jest tak skalowalne jak inne opcje, zwłaszcza jeśli Twoje dane z czasem się rozrosną. Wraz z powiększaniem się listy rośnie też dokument, co może wydłużyć czas jego pobierania.
  • Jaki jest możliwy przypadek użycia? Na przykład w aplikacji do czatowania 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

Kolekcje w dokumentach możesz tworzyć, gdy masz dane, które mogą się z czasem rozszerzać.

  • Zalety: w miarę powiększania się list rozmiar dokumentu nadrzędnego nie zmienia się. Masz też pełne możliwości wykonywania zapytań dotyczących podzbiorów i możesz wysyłać zapytania do grup kolekcji w podzbiorach.
  • Ograniczenia: nie można łatwo usuwać podkolekcji.
  • Jaki jest możliwy przypadek użycia? W tej samej aplikacji do czatowania możesz na przykład tworzyć kolekcje użytkowników lub wiadomości w dokumentach pokoju czatu.
  •  science
    • oprogramowanie
        name : "software chat"
      • użytkowników
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • astrofizyka,
      • ...

Kolekcje najwyższego poziomu

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

  • Zalety: kolekcje najwyższego poziomu są odpowiednie w przypadku relacji wiele-do-wielu i umożliwiają zaawansowane wyszukiwanie w każdej kolekcji.
  • Ograniczenia: pobieranie danych, które są naturalnie hierarchiczne, może stawać się coraz bardziej złożone wraz z rozwojem bazy danych.
  • Jaki jest możliwy przypadek użycia? W tej samej aplikacji do czatowania możesz na przykład utworzyć jedną kolekcję dla użytkowników, a drugą dla pokoi i wiadomości.
  • użytkowników
    • 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 : "..."