Wybierz strukturę danych

Pamiętaj, że strukturyzując 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 opisano 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: ta opcja nie jest tak skalowalna jak inne opcje, zwłaszcza jeśli z biegiem czasu dane się powiększają. W przypadku większych lub rosnących list dokument również się powiększa, co może prowadzić do wydłużenia czasu wyszukiwania dokumentów.
  • Jaki jest możliwy przypadek użycia? Na przykład w aplikacji do czatowania możesz przechowywać 3 ostatnio odwiedzane pokoje rozmów użytkownika jako zagnieżdżoną listę w jego profilu.
  • miłość
    • nazwa :
      pierwszy: „Ada”
      ostatni: „Lovelace”
      urodzony: 1815
      pokoje:
      0: „Czat dotyczący oprogramowania”
      1: „Znane postacie”
      2: „Znani SWE”

Podkolekcje

Jeśli masz dane, które z czasem mogą się powiększyć, możesz tworzyć kolekcje w dokumentach.

  • Zalety: W miarę powiększania się list rozmiar dokumentu nadrzędnego nie zmienia się. Otrzymujesz także pełne możliwości wykonywania zapytań w podkolekcjach i możesz wysyłać zapytania dotyczące grup kolekcji w ramach podkolekcji.
  • Ograniczenia: Nie można łatwo usunąć podkolekcji.
  • Jaki jest możliwy przypadek użycia? Na przykład w tej samej aplikacji do czatowania możesz tworzyć kolekcje użytkowników lub wiadomości w dokumentach pokoju rozmów.
  • nauka
    • oprogramowanie
      nazwa: „czat programowy”
      • użytkownicy
        • miłość
          pierwszy: „Ada”
          ostatni: „Lovelace”
        • jazda
          pierwszy: „Sally”
          ostatni: „Jazda”`


    • z astrofizyki
      • ...

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 sprawdzają się w relacjach wiele do wielu i zapewniają zaawansowane zapytania w obrębie każdej kolekcji.
  • Ograniczenia: Pobieranie danych, które są naturalnie hierarchiczne, może stawać się coraz bardziej złożone w miarę powiększania się bazy danych.
  • Jaki jest możliwy przypadek użycia? Na przykład w tej samej aplikacji do czatowania możesz utworzyć jedną kolekcję dla użytkowników, a drugą dla pokojów i wiadomości.
  • użytkownicy
    • miłość
      pierwszy: „Ada”
      ostatni: „Lovelace”
      urodzony: 1815
    • jazda
      pierwszy: „Sally”
      Ostatnia przejażdżka"
      urodzony: 1951
  • pokoje
    • oprogramowanie
      • wiadomości
        • wiadomość 1
          od: "avelace"
          treść : "..."
        • wiadomość 2
          od: "sride"
          treść : "..."