Estructurar datos

Recuerda que, cuando estructures tus datos en Firestore, tendrás varias opciones:

  • Redactar documentos
  • Varias colecciones
  • Subcolecciones en documentos

Ten en cuenta las ventajas de cada opción en relación con tu caso práctico. En esta guía se describen algunas estructuras de ejemplo para datos jerárquicos.

Datos anidados en documentos

Puedes anidar objetos complejos, como arrays o mapas, en documentos.

  • Ventajas: si tienes listas de datos sencillas y fijas que quieres conservar en tus documentos, esta opción es fácil de configurar y optimiza la estructura de tus datos.
  • Limitaciones: Esta opción no es tan escalable como otras, sobre todo si tus datos aumentan con el tiempo. Si las listas son más grandes o crecen, el documento también aumenta de tamaño, lo que puede provocar que los tiempos de recuperación de documentos sean más lentos.
  • ¿Cuál es un posible caso práctico? Por ejemplo, en una aplicación de chat, puedes almacenar las tres salas de chat que ha visitado más recientemente un usuario como una lista anidada en su perfil.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

Subcolecciones

Puedes crear colecciones en documentos cuando tengas datos que puedan ampliarse con el tiempo.

  • Ventajas: a medida que aumentan tus listas, el tamaño del documento principal no cambia. También puedes hacer consultas completas en subcolecciones y consultas de grupos de colecciones en subcolecciones.
  • Limitaciones: no puedes eliminar subcolecciones fácilmente.
  • ¿Cuál es un posible caso práctico? En la misma aplicación de chat, por ejemplo, puedes crear colecciones de usuarios o mensajes en documentos de salas de chat.
  • ciencia
    • Software de
        name : "software chat"
      • usuarios
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • astrofísica
      • ...

Colecciones de nivel raíz

Crea colecciones en el nivel raíz de tu base de datos para organizar conjuntos de datos dispares.

  • Ventajas: las colecciones de nivel raíz son adecuadas para relaciones de muchos a muchos y ofrecen potentes consultas en cada colección.
  • Limitaciones: obtener datos que son jerárquicos por naturaleza puede volverse cada vez más complejo a medida que crece la base de datos.
  • ¿Cuál es un posible caso práctico? Por ejemplo, en la misma aplicación de chat, puedes crear una colección para usuarios y otra para salas y mensajes.
  • usuarios
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • salas
    • software
      • mensajes
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."

Vídeos

Para obtener más información, consulta los siguientes vídeos: