Selecciona una estructura de datos

Recuerda que puedes elegir entre diferentes opciones cuando estructuras tus datos en Cloud Firestore: documentos, varias colecciones y subcolecciones dentro de los documentos. Ten en cuenta las ventajas de cada opción en relación con tu caso de uso.

Datos anidados en documentos

Puedes anidar objetos complejos como matrices (mapas) dentro de los documentos.

  • Ventajas: Si tienes listas simples y fijas de datos que deseas conservar en tus documentos, esto es fácil de configurar y optimiza tu estructura de datos.
  • Limitaciones: No puedes ejecutar consultas en listas anidadas. Además, no es tan escalable como otras opciones, especialmente si tus datos se expanden con el tiempo. Con listas más grandes o en crecimiento, el documento también crece, lo que puede tener como resultado que los tiempos de recuperación de los documentos sean más lentos.
  • ¿Cuál es un caso de uso posible? En una app de chat, por ejemplo, puedes almacenar las 3 salas de chat que un usuario visitó recientemente como una lista anidada en su perfil.
  • class alovelace
    •     nombre:
            nombre: "Ada"
            apellido: "Lovelace"
          fecha de nacimiento: 1815
          salas:
            0: "Chat de software"
            1: "Figuras famosas"
            2 : "SWE famosos"

Subcolecciones

Puedes crear colecciones dentro de los documentos cuando tengas datos que podrían expandirse con el tiempo.

  • Ventajas: A medida que crecen las listas, el tamaño del documento principal no cambia. También obtendrás la capacidad de consulta completa en las subcolecciones.
  • Limitaciones: No puedes borrar las subcolecciones fácilmente ni realizar consultas compuestas en ellas.
  • ¿Cuál es un caso de uso posible? En la misma app de chat, por ejemplo, puedes crear las colecciones de usuarios o mensajes dentro de los documentos de la sala de chat.
  • collections_bookmark ciencia
    • class software
        nombre: "chat de software"
      • collections_bookmark usuarios
        • class alovelace
              nombre: "Ada"
              apellido: "Lovelace"
        • class sride
              nombre: "Sally"
              apellido: "Ride"


    • class astrofísica

Colecciones de nivel de raíz

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

  • Ventajas: Las colecciones de nivel de raíz ofrecen la mayor flexibilidad y escalabilidad, junto con potentes capacidades de consulta dentro de cada colección.
  • Limitaciones: La obtención de los datos que son naturalmente jerárquicos puede llegar a ser cada vez más compleja a medida que crece tu base de datos.
  • ¿Cuál es un caso de uso posible? En la misma app de chat, por ejemplo, puedes crear una colección para usuarios y otra para salas y mensajes.
  • collections_bookmark usuarios
    • class alovelace
          nombre: "Ada"
          apellido: "Lovelace"
          fecha de nacimiento: 1815
    • class sride
          nombre: "Sally"
          apellido: "Ride"
          fecha de nacimiento: 1951
  • collections_bookmark salas
    • class software
      • collections_bookmark mensajes
        • class mensaje1
              de: "alovelace"
              contenido: "…"
        • class mensaje2
              de: "sride"
              contenido: "…"

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.