Estruturar dados
Lembre-se de que quando você estrutura os dados no Firestore,
há algumas opções diferentes:
- Documentos
- Várias coleções
- Subcoleções em documentos
Avalie as vantagens de cada opção de acordo com seu caso de uso. Neste guia, mostramos alguns exemplos de estruturas de dados hierárquicos.
Dados aninhados em documentos
Aninhe objetos complexos como matrizes ou mapas em documentos.
- Vantagens: se você tem listas de dados simples e fixas que pretende manter nos documentos, é fácil configurar e simplificar a estrutura de dados.
-
Limitações: esse recurso não é tão escalonável quanto as outras opções, principalmente se os dados se expandem ao longo do tempo. Com listas maiores ou em constante crescimento, o documento também cresce, o que pode resultar em tempos de recuperação de documentos mais lentos.
- Que caso de uso é possível? Em um app de bate-papo, por exemplo, você pode armazenar as três salas de bate-papo de um usuário visitadas mais recentemente como uma lista aninhada no perfil dele.
|
- class alovelace
- Nome:
Primeiro: "Ada"
Último: "Lovelace"
Data de nascimento: 1815
Salas:
0: "Chat sobre software"
1: "Pessoas famosas"
2: "Organização SWE"
|
Subcoleções
Você pode criar coleções em documentos quando há dados que podem se expandir ao longo do tempo.
- Vantagens: conforme as listas crescem, o tamanho do documento pai não muda. Você também tem acesso a recursos completos de consulta em subcoleções e pode emitir
consultas de grupo de coleções em subcoleções.
-
Limitações: não é fácil excluir subcoleções.
- Que caso de uso é possível? No mesmo app de bate-papo, por exemplo, você pode criar coleções de usuários ou mensagens em documentos da sala de bate-papo.
|
- collections_bookmark ciência
- class software
Nome: "chat sobre software"
- collections_bookmark
usuários
- class
alovelace
Primeiro: "Ada"
Último: "Lovelace"
- class
sride
Primeiro: "Sally"
Último: "Ride"
- class astrofísica
|
Coleções no nível raiz
Crie coleções no nível raiz do banco de dados para organizar conjuntos de dados diferentes.
- Vantagens: as coleções no nível raiz são boas para relações de muitos para muitos
e oferecem consultas avançadas em cada coleção.
-
Limitações: o acesso a dados, que é naturalmente hierárquico, pode tornar-se cada vez mais complexo à medida que o banco de dados aumenta.
- Que caso de uso é possível? No mesmo app de bate-papo, por exemplo, você pode criar uma coleção de usuários e outra de salas e mensagens.
|
- collections_bookmark
users
- class alovelace
Primeiro: "Ada"
Último: "Lovelace"
Data de nascimento: 1815
- class sride
Primeiro: "Sally"
Último: "Ride"
Data de nascimento: 1951
- collections_bookmark salas
- class software
- collections_bookmark
mensagens
- class
mensagem1
De: "alovelace"
Conteúdo: "..."
- class
mensagem2
De: "sride"
Conteúdo: "..."
|
Vídeos
Para saber mais, assista a estes vídeos: