Pamiętaj, że podczas organizowania 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 przybywa Ci danych. W przypadku większych lub stale rosnących list dokument również się powiększa, co może spowodować wydłużenie 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.
|
- class 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ę zmieniać w czasie, możesz tworzyć kolekcje w dokumentach.
- Zalety: wraz ze zwiększaniem się liczby list rozmiar dokumentu nadrzędnego się nie zmienia. Masz też pełne możliwości wykonywania zapytań dotyczących podzbiorów oraz możesz wysyłać
zapytania dotyczące grupy zbiorów w podzbiorach.
-
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 czatu.
|
- collections_bookmark nauka
- class software
name : "software chat"
- collections_bookmarkużytkowników
- class
alovelace
first : "Ada"
last : "Lovelace"
- class
sride
first : "Sally"
last : "Ride"`
- class astrofizyka
|
Kolekcje na poziomie katalogu źródeł
Aby uporządkować różne zbiory danych, twórz kolekcje na poziomie katalogu głównego bazy danych.
- Zalety: kolekcje na poziomie katalogu głównego są przydatne w przypadku relacji „wiele do wielu” i umożliwiają tworzenie zapytań w ramach każdej kolekcji.
-
Ograniczenia: wraz z rozwojem bazy danych uzyskiwanie danych o hierarchii 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.
|
- collections_bookmarkużytkowników
- class alovelace
first : "Ada"
last : "Lovelace"
born : 1815
- class sride
first : "Sally"
last : "Ride"
born : 1951
- collections_bookmark sal
- classoprogramowania
- collections_bookmark
wiadomości
- class
message1
from : "alovelace"
content : "..."
- class
message2
from : "sride"
content : "..."
|