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ść class
- 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.
| - collections_bookmark nauka
- oprogramowanie class
nazwa: „czat programowy”- użytkownicy collections_bookmark
- miłość class
pierwszy: „Ada” ostatni: „Lovelace”
- jazda class
pierwszy: „Sally” ostatni: „Jazda”`
- class 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 collections_bookmark
- miłość class
pierwszy: „Ada” ostatni: „Lovelace” urodzony: 1815
- jazda class
pierwszy: „Sally” Ostatnia przejażdżka" urodzony: 1951
- collections_bookmark pokoje
- oprogramowanie class
- collections_bookmark wiadomości
- wiadomość class 1
od: "avelace" treść : "..."
- wiadomość class 2
od: "sride" treść : "..."
|