Habilitar Firestore en Firebase Console

Clase 16 de 32Curso de Firebase 5 para Web

Resumen

Activar Firestore en Firebase es más sencillo de lo que parece. En minutos puedes definir reglas de seguridad, crear colecciones y documentos con campos clave-valor y preparar tu aplicación web para leer y escribir datos. Aquí tienes los pasos esenciales y las decisiones que importan para evitar cuellos de botella en tus consultas.

¿Cómo habilitar Firestore y elegir reglas de seguridad?

Para empezar, se ingresa a Firebase, pestaña base de datos, y se crea la base de datos. La plataforma sugiere dos modos de seguridad: modo bloqueo (nadie lee ni escribe) y modo prueba (lectura y escritura sin autenticación). Como developers, conviene iniciar en modo prueba para validar flujos con rapidez y luego reforzar reglas. Firestore se replica en múltiples regiones, y por proyecto solo hay una base de datos disponible por ahora. En Realtime Database sí es posible manejar varias, aunque en Firestore se planean mejoras futuras.

  • Modo bloqueo: máximo control, sin lecturas ni escrituras.
  • Modo prueba: ideal para pruebas rápidas sin autenticación.
  • Replicación regional: alta disponibilidad automática.
  • Una base por proyecto: simplifica la administración.

¿Qué implica el modo prueba frente a modo bloqueo?

  • Modo prueba: habilita lecturas y escrituras sin restricciones. Útil para desarrollo.
  • Modo bloqueo: cierra completamente el acceso. Útil para producción inicial.

¿Qué limita la cantidad de bases de datos por proyecto?

  • Firestore: actualmente una por proyecto.
  • Realtime Database: permite varias instancias.

¿Cómo crear colecciones, documentos y tipos de datos en Firestore?

La estructura se modela con colecciones (agrupan documentos) y documentos (almacenan campos). Al crear la colección Post, se añaden documentos con ID automático o uno definido por ti. Cada documento usa campos clave-valor; Firestore es no SQL, así que no hay tablas ni filas.

  • Campos comunes: Título (string), Descripción (string), Fecha (timestamp), Autor (string).
  • Arreglos: Categorías como array de string (por ejemplo: deportes, noticias).
  • Subcolecciones: por ejemplo, Comentarios dentro de un Post.

¿Qué es una colección y un documento?

  • Colección: conjunto de documentos.
  • Documento: unidad con campos clave-valor e ID propio.
  • ID: puede ser definido o generado automáticamente por Firestore.

¿Qué tipos de datos soporta Firestore?

  • string: texto como título o autor.
  • timestamp: fechas precisas para orden y filtros.
  • array: listas de valores como categorías.

¿Cómo relacionar datos sin anidar subcolecciones?

Las consultas compuestas se aplican a colecciones, no a subcolecciones. Por eso, se recomienda evitar anidar profundo. Úsalo con moderación: 2, máximo 3 niveles. Alternativa práctica: mover Comentarios a una colección de nivel superior y relacionar cada comentario con el ID del post mediante un campo (ejemplo: id post). Esto simplifica las consultas y reduce navegación entre subcolecciones. Si ya existe una subcolección, puedes eliminar sus documentos y migrar a una colección plana con la referencia al post.

  • Menos anidación, más consultas eficientes.
  • Relación por ID: campo id post para vincular comentarios y posts.
  • Creación automática: Firestore crea colecciones en tiempo de ejecución al insertar desde la app.

¿Cómo integrar Firestore en una aplicación web?

Desde la documentación de Firebase, en la guía web, se copian los scripts específicos para cada servicio. Para usar Firestore, agrega el script correspondiente en tu archivo index como un nuevo