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.
  • 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.
  • ciência
    • Software
        name : "software chat"
      • utilizadores
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • 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.
  • utilizadores
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • rooms
    • software
      • mensagens
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."

Vídeos

Para saber mais, veja os seguintes vídeos: