Escolha uma estrutura de dados

Lembre-se de que ao estruturar seus dados no Cloud Firestore, você tem algumas opções diferentes:

  • Documentos
  • Várias coleções
  • Subcoleções em documentos

Considere as vantagens de cada opção conforme elas se relacionam ao seu caso de uso. Alguns exemplos de estruturas para dados hierárquicos são descritos neste guia.

Dados aninhados em documentos

Você pode aninhar objetos complexos como matrizes ou mapas em documentos.

  • Vantagens: Se você tiver listas simples e fixas de dados que deseja manter em seus documentos, isso será fácil de configurar e agilizará sua estrutura de dados.
  • Limitações: isso não é tão escalonável quanto outras opções, especialmente se seus dados se expandirem com o tempo. Com listas maiores ou crescentes, o documento também aumenta, o que pode levar a tempos de recuperação de documentos mais lentos.
  • Qual é um possível caso de uso? Em um aplicativo de bate-papo, por exemplo, você pode armazenar as três salas de bate-papo visitadas mais recentemente de um usuário como uma lista aninhada em seu perfil.
  • alovelace
    • nome :
      primeiro: "Ada"
      último: "Lovelace"
      nascido: 1815
      quartos :
      0: "Bate-papo de software"
      1: "Figuras Famosas"
      2: "SUEs famosos"

Subcoleções

Você pode criar coleções em documentos quando tiver dados que possam se expandir com o tempo.

  • Vantagens: À medida que suas listas aumentam, o tamanho do documento pai não muda. Você também obtém recursos completos de consulta em subcoleções e pode emitir consultas de grupos de coleções em subcoleções.
  • Limitações: não é possível excluir subcoleções facilmente.
  • Qual é um possível caso de uso? No mesmo aplicativo de chat, por exemplo, você pode criar coleções de usuários ou mensagens em documentos de salas de chat.
  • ciência
    • software
      nome: "bate-papo de software"
      • usuários
        • alovelace
          primeiro: "Ada"
          último: "Lovelace"

        • primeiro: "Sally"
          último: "Passeio"`


    • de astrofísica
      • ...

Coleções de nível raiz

Crie coleções no nível raiz do seu banco de dados para organizar conjuntos de dados distintos.

  • Vantagens: As coleções de nível raiz são boas para relacionamentos muitos-para-muitos e fornecem consultas poderosas dentro de cada coleção.
  • Limitações: Obter dados naturalmente hierárquicos pode se tornar cada vez mais complexo à medida que seu banco de dados cresce.
  • Qual é um possível caso de uso? No mesmo aplicativo de chat, por exemplo, você pode criar uma coleção para usuários e outra para salas e mensagens.
  • usuários
    • alovelace
      primeiro: "Ada"
      último: "Lovelace"
      nascido: 1815

    • primeiro: "Sally"
      último: "Passeio"
      nascido: 1951
  • salas
    • software
      • mensagens
        • mensagem
          de: "alovelace"
          contente : "..."
        • mensagem
          from: "sride"
          contente : "..."