Elija una estructura de datos

Recuerde, cuando estructura sus datos en Cloud Firestore, tiene algunas opciones diferentes:

  • Documentos
  • Múltiples colecciones
  • Subcolecciones dentro de documentos

Considere las ventajas de cada opción en relación con su caso de uso. En esta guía se describen algunos ejemplos de estructuras para datos jerárquicos.

Datos anidados en documentos

Puede anidar objetos complejos como matrices o mapas dentro de documentos.

  • Ventajas: si tiene listas simples y fijas de datos que desea mantener dentro de sus documentos, esto es fácil de configurar y agiliza su estructura de datos.
  • Limitaciones: esto no es tan escalable como otras opciones, especialmente si sus datos se expanden con el tiempo. Con listas más grandes o en crecimiento, el documento también crece, lo que puede generar tiempos de recuperación de documentos más lentos.
  • ¿Cuál es un posible caso de uso? En una aplicación de chat, por ejemplo, puedes almacenar las 3 salas de chat visitadas más recientemente por un usuario como una lista anidada en su perfil.
  • alovelace
    • nombre :
      primero: "Ada"
      último: "Lovelace"
      nacido: 1815
      habitaciones :
      0: "Chat de software"
      1: "Figuras famosas"
      2: "SWE famosos"

Subcolecciones

Puede crear colecciones dentro de documentos cuando tenga datos que puedan expandirse con el tiempo.

  • Ventajas: a medida que sus listas crecen, el tamaño del documento principal no cambia. También obtiene capacidades de consulta completas en subcolecciones y puede emitir consultas de grupos de colecciones entre subcolecciones.
  • Limitaciones: no puedes eliminar subcolecciones fácilmente.
  • ¿Cuál es un posible caso de uso? En la misma aplicación de chat, por ejemplo, puedes crear colecciones de usuarios o mensajes dentro de los documentos de la sala de chat.
  • ciencia
    • software
      nombre: "chat de software"
      • usuarios
        • alovelace
          primero: "Ada"
          último: "Lovelace"
        • paso de
          primero: "Sally"
          último: "Paseo"`


    • de astrofísica
      • ...

Colecciones de nivel raíz

Cree colecciones en el nivel raíz de su base de datos para organizar conjuntos de datos dispares.

  • Ventajas: las colecciones de nivel raíz son buenas para relaciones de muchos a muchos y proporcionan consultas potentes dentro de cada colección.
  • Limitaciones: Obtener datos que son naturalmente jerárquicos puede volverse cada vez más complejo a medida que crece su base de datos.
  • ¿Cuál es un posible caso de uso? En la misma aplicación de chat, por ejemplo, puedes crear una colección para usuarios y otra para salas y mensajes.
  • usuarios
    • alovelace
      primero: "Ada"
      último: "Lovelace"
      nacido: 1815
    • paso de
      primero: "Sally"
      último viaje"
      nacido: 1951
  • de habitaciones
    • software
      • mensajes
        • mensaje
          de: "alovelace"
          contenido : "..."
        • mensaje
          de: "sride"
          contenido : "..."