Estruturar dados

Lembre-se de que, ao estruturar os dados no Firestore, você tem 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.
  • alovelace
    • name :
      primeiro : "Ada"
      último : "Lovelace"
      nascidos: 1815
      salas :
      0 : "Chat de software"
      1 : "Lovelace"

Subcoleções

É possível 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.
  • ciência
    • software
        Nome: "chat sobre software"
      • usuários
        • alovelace
          Primeiro : "Ada"
          último : "Lovelace"
        • sride
              Primeiro: "Sally"
              Último: "Ride"


    • 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.
  • users
    • alovelace
      Primeiro : "Ada"
      Último : "Lovelace"
      nascido em : 1815
    • sride
      primeiro : "Sally"
      último : "Ride"
      nascido em : 1951
  • salas
    • software
      • mensagens
        • mensagem1
          De : "alovelace"
          conteúdo : "..."
        • message2
          from : "sride"
          conteúdo : "..."

Vídeos

Para saber mais, assista a estes vídeos: