Estruture dados
Lembre-se de que, quando estrutura os seus dados no Firestore, tem algumas opções diferentes:
- Documentos
- Várias coleções
- Subcoleções em documentos
Considere as vantagens de cada opção, uma vez que se
relacionam com o seu exemplo de utilização. Neste guia, são descritas algumas estruturas de exemplo para dados hierárquicos.
Dados aninhados em documentos
Pode aninhar objetos complexos, como matrizes ou mapas, em documentos.
- Vantagens: se tiver listas de dados simples e fixas que quer manter nos seus documentos, esta opção é fácil de configurar e simplifica a estrutura de dados.
-
Limitações:
esta opção não é tão escalável como outras,
especialmente se os seus dados se expandirem ao longo do tempo. Com listas maiores ou em crescimento, o documento também cresce, o que pode levar a tempos de obtenção de documentos mais lentos.
- Qual é um possível exemplo de utilização? Numa app de chat, por exemplo, pode armazenar as 3 salas de chat visitadas mais recentemente por um utilizador como uma lista aninhada no respetivo perfil.
|
- class alovelace
- name :
first : "Ada"
last : "Lovelace"
born : 1815
rooms :
0 : "Software Chat"
1 : "Famous Figures"
2 : "Famous SWEs"
|
Subcoleções
Pode criar coleções em documentos quando tem dados que podem expandir-se ao longo do tempo.
- Vantagens: à medida que as listas crescem, o tamanho do documento principal não se altera. Também tem capacidades de consulta completas em subcoleções e pode emitir
consultas de grupos de coleções em subcoleções.
-
Limitações: não pode eliminar facilmente subcoleções.
- Qual é um possível exemplo de utilização? Na mesma app de chat, por exemplo, pode criar coleções de utilizadores ou mensagens em documentos da sala de chat.
|
- collections_bookmark ciência
- Software class
name : "software chat"
- collections_bookmark
utilizadores
- class
alovelace
first : "Ada"
last : "Lovelace"
- class
sride
first : "Sally"
last : "Ride"`
- class astrophysics
|
Coleções ao nível da raiz
Crie coleções ao nível da raiz da sua base de dados para organizar conjuntos de dados
dispares.
- Vantagens: as coleções ao nível da raiz são adequadas para relações muitos-para-muitos e oferecem consultas poderosas em cada coleção.
-
Limitações: a obtenção de dados naturalmente hierárquicos pode tornar-se cada vez mais complexa à medida que a base de dados cresce.
- Qual é um possível exemplo de utilização? Na mesma app de chat,
por exemplo, pode criar uma coleção para utilizadores e outra para salas e
mensagens.
|
- collections_bookmark
utilizadores
- class alovelace
first : "Ada"
last : "Lovelace"
born : 1815
- class sride
first : "Sally"
last : "Ride"
born : 1951
- collections_bookmark rooms
- class software
- collections_bookmark
mensagens
- class
message1
from : "alovelace"
content : "..."
- class
message2
from : "sride"
content : "..."
|
Vídeos
Para saber mais, veja os seguintes vídeos: