Pamiętaj, że podczas strukturyzowania danych w Cloud Firestore, masz kilka różnych opcji:
- Dokumenty
- Wiele kolekcji
- Podkolekcje w dokumentach
Zastanów się, jakie zalety ma każda z tych 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 przechowywać w dokumentach, ta opcja jest łatwa w konfiguracji i upraszcza strukturę danych.
-
Ograniczenia: ta opcja nie jest tak skalowalna jak inne, zwłaszcza jeśli dane z czasem się rozszerzają. W przypadku większych lub rosnących list dokument również się powiększa, co może wydłużyć czas pobierania dokumentów.
- 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.
|
- class 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ę 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ń w podkolekcjach,
i możesz wysyłać
zapytania do grup kolekcji w podkolekcjach.
-
Ograniczenia: nie możesz łatwo usuwać 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 czatu.
|
- collections_bookmark science
- class software
name : "software chat"
- collections_bookmark
users
- class
alovelace
first : "Ada"
last : "Lovelace"
- class
sride
first : "Sally"
last : "Ride"`
- class astrophysics
|
Kolekcje najwyższego poziomu
Twórz kolekcje na najwyższym poziomie bazy danych, aby uporządkować różne zbiory danych.
- Zalety: kolekcje najwyższego poziomu są przydatne w przypadku relacji wiele-do-wielu i umożliwiają wykonywanie zaawansowanych zapytań w każdej kolekcji.
-
Ograniczenia: w miarę rozrastania się bazy danych pobieranie danych, które są naturalnie hierarchiczne, może stawać się coraz bardziej złożone.
- 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 pokoi i wiadomości.
|
- collections_bookmark
users
- class alovelace
first : "Ada"
last : "Lovelace"
born : 1815
- class sride
first : "Sally"
last : "Ride"
born : 1951
- collections_bookmark rooms
- class software
- collections_bookmark
messages
- class
message1
from : "alovelace"
content : "..."
- class
message2
from : "sride"
content : "..."
|