Contáctanos
Webflow Premium Partner Ehab Fayez
Volver a Agent Skills
Datos y Analítica

Firebase Firestore

Construye aplicaciones en tiempo real con la base de datos NoSQL Firebase Firestore, sincronización offline y reglas de seguridad.

Claude Code Cursor Copilot Windsurf

Descripción General

Cloud Firestore es una base de datos NoSQL flexible y escalable de Firebase/Google Cloud para desarrollo móvil, web y de servidor. Almacena datos en documentos organizados en colecciones, con soporte para subcolecciones anidadas. Firestore proporciona listeners en tiempo real que sincronizan datos entre clientes instantáneamente, con soporte offline integrado que almacena datos localmente y sincroniza cuando se restaura la conectividad.

Las consultas de Firestore soportan filtrado, ordenamiento, paginación con cursores y consultas de grupo de colecciones que abarcan subcolecciones. A diferencia de las bases de datos NoSQL tradicionales, Firestore garantiza consistencia fuerte para todas las lecturas. Las reglas de seguridad escritas en un lenguaje personalizado controlan el acceso de lectura/escritura a nivel de documento, evaluadas del lado del servidor para cada operación.

El SDK de Firebase proporciona librerías tanto del lado del cliente (Web, iOS, Android) como del lado del servidor (Admin SDK). El Admin SDK omite las reglas de seguridad y proporciona privilegios elevados para operaciones backend. Firestore se integra con otros servicios de Firebase incluyendo Authentication, Cloud Functions (activadas por eventos de base de datos) y Firebase Hosting. Los precios se basan en lecturas, escrituras y eliminaciones de documentos en lugar de tiempo de cómputo.

¿Para Quién Es?

  • Construir una aplicación de chat en tiempo real con sincronización de mensajes
  • Implementar una app móvil offline-first con caché local
  • Configurar reglas de seguridad de Firestore para aislamiento de datos de usuario
  • Activar Cloud Functions al crear/actualizar/eliminar documentos

Instalación

Configurar Claude Code
npm install firebase

Configuración

import { initializeApp } from "firebase/app"
import { getFirestore, collection, query, where, onSnapshot } from "firebase/firestore"

const app = initializeApp({
  apiKey: process.env.FIREBASE_API_KEY,
  projectId: process.env.FIREBASE_PROJECT_ID,
})

const db = getFirestore(app)

// Real-time listener
const q = query(collection(db, "messages"), where("room", "==", roomId))
onSnapshot(q, (snapshot) => {
  snapshot.docChanges().forEach((change) => {
    if (change.type === "added") console.log("New:", change.doc.data())
  })
})