En este tema, aprenderemos cómo leer y escribir datos en la base de datos en tiempo real de Firebase. Este módulo es fundamental para cualquier aplicación que necesite almacenar y recuperar datos de manera eficiente y en tiempo real.
Conceptos Clave
- Referencia de la base de datos: Es el punto de entrada para interactuar con la base de datos.
- Lectura de datos: Obtener datos almacenados en la base de datos.
- Escritura de datos: Guardar o actualizar datos en la base de datos.
- Eventos de datos: Escuchar cambios en los datos en tiempo real.
Configuración Inicial
Antes de comenzar, asegúrate de haber configurado Firebase en tu proyecto. Si no lo has hecho, revisa el módulo "Configuración de Firebase".
Importar Firebase
Primero, importa y configura Firebase en tu proyecto:
// Importa Firebase import firebase from 'firebase/app'; import 'firebase/database'; // Configura Firebase const firebaseConfig = { apiKey: "TU_API_KEY", authDomain: "TU_AUTH_DOMAIN", databaseURL: "TU_DATABASE_URL", projectId: "TU_PROJECT_ID", storageBucket: "TU_STORAGE_BUCKET", messagingSenderId: "TU_MESSAGING_SENDER_ID", appId: "TU_APP_ID" }; // Inicializa Firebase firebase.initializeApp(firebaseConfig); // Obtén una referencia a la base de datos const database = firebase.database();
Escritura de Datos
Para escribir datos en la base de datos, utilizamos el método set()
o update()
.
Ejemplo: Guardar un usuario
// Referencia a la ubicación donde se guardará el usuario const userRef = database.ref('users/1'); // Datos del usuario const userData = { name: 'Juan Pérez', email: '[email protected]', age: 30 }; // Guardar datos del usuario userRef.set(userData) .then(() => { console.log('Datos guardados exitosamente.'); }) .catch((error) => { console.error('Error al guardar datos:', error); });
Ejemplo: Actualizar datos del usuario
// Referencia a la ubicación del usuario const userRef = database.ref('users/1'); // Datos a actualizar const updates = { age: 31 }; // Actualizar datos del usuario userRef.update(updates) .then(() => { console.log('Datos actualizados exitosamente.'); }) .catch((error) => { console.error('Error al actualizar datos:', error); });
Lectura de Datos
Para leer datos de la base de datos, utilizamos el método once()
o on()
.
Ejemplo: Leer datos una vez
// Referencia a la ubicación del usuario const userRef = database.ref('users/1'); // Leer datos del usuario una vez userRef.once('value') .then((snapshot) => { const userData = snapshot.val(); console.log('Datos del usuario:', userData); }) .catch((error) => { console.error('Error al leer datos:', error); });
Ejemplo: Escuchar cambios en los datos
// Referencia a la ubicación del usuario const userRef = database.ref('users/1'); // Escuchar cambios en los datos del usuario userRef.on('value', (snapshot) => { const userData = snapshot.val(); console.log('Datos del usuario actualizados:', userData); });
Ejercicio Práctico
Ejercicio 1: Guardar y Leer Datos
- Guardar un nuevo usuario: Crea una función que guarde un nuevo usuario en la base de datos.
- Leer datos del usuario: Crea una función que lea los datos del usuario guardado y los muestre en la consola.
Solución
// Función para guardar un nuevo usuario function saveUser(userId, name, email, age) { const userRef = database.ref('users/' + userId); const userData = { name: name, email: email, age: age }; userRef.set(userData) .then(() => { console.log('Usuario guardado exitosamente.'); }) .catch((error) => { console.error('Error al guardar usuario:', error); }); } // Función para leer datos del usuario function readUser(userId) { const userRef = database.ref('users/' + userId); userRef.once('value') .then((snapshot) => { const userData = snapshot.val(); console.log('Datos del usuario:', userData); }) .catch((error) => { console.error('Error al leer datos del usuario:', error); }); } // Guardar un nuevo usuario saveUser('2', 'Ana Gómez', '[email protected]', 25); // Leer datos del usuario guardado readUser('2');
Resumen
En esta sección, hemos aprendido cómo leer y escribir datos en la base de datos en tiempo real de Firebase. Hemos cubierto los conceptos clave, configurado Firebase, y explorado ejemplos prácticos de lectura y escritura de datos. Además, hemos realizado un ejercicio práctico para reforzar los conceptos aprendidos.
En el próximo tema, profundizaremos en la estructura de datos y las reglas de seguridad para garantizar que nuestros datos estén organizados y protegidos adecuadamente.
Curso de Firebase
Módulo 1: Introducción a Firebase
Módulo 2: Autenticación de Firebase
- Introducción a la autenticación de Firebase
- Autenticación por correo electrónico y contraseña
- Autenticación de redes sociales
- Gestión de usuarios
Módulo 3: Base de datos en tiempo real de Firebase
- Introducción a la base de datos en tiempo real
- Lectura y escritura de datos
- Estructura de datos y reglas de seguridad
- Capacidades sin conexión
Módulo 4: Cloud Firestore
- Introducción a Cloud Firestore
- Modelo de datos de Firestore
- Operaciones CRUD
- Consultas avanzadas
- Reglas de seguridad
Módulo 5: Almacenamiento de Firebase
- Introducción al almacenamiento de Firebase
- Subida de archivos
- Descarga de archivos
- Metadatos de archivos y seguridad
Módulo 6: Mensajería en la nube de Firebase
- Introducción a la mensajería en la nube
- Envío de notificaciones
- Manejo de notificaciones
- Características avanzadas de mensajería
Módulo 7: Análisis de Firebase
Módulo 8: Funciones de Firebase
- Introducción a las funciones de Firebase
- Escritura de funciones
- Despliegue de funciones
- Activación de funciones
Módulo 9: Monitoreo de rendimiento de Firebase
- Introducción al monitoreo de rendimiento
- Configuración del monitoreo de rendimiento
- Análisis de datos de rendimiento
Módulo 10: Laboratorio de pruebas de Firebase
- Introducción al laboratorio de pruebas de Firebase
- Ejecución de pruebas
- Análisis de resultados de pruebas