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

  1. Referencia de la base de datos: Es el punto de entrada para interactuar con la base de datos.
  2. Lectura de datos: Obtener datos almacenados en la base de datos.
  3. Escritura de datos: Guardar o actualizar datos en la base de datos.
  4. 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

  1. Guardar un nuevo usuario: Crea una función que guarde un nuevo usuario en la base de datos.
  2. 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

Módulo 3: Base de datos en tiempo real de Firebase

Módulo 4: Cloud Firestore

Módulo 5: Almacenamiento de Firebase

Módulo 6: Mensajería en la nube de Firebase

Módulo 7: Análisis de Firebase

Módulo 8: Funciones de Firebase

Módulo 9: Monitoreo de rendimiento de Firebase

Módulo 10: Laboratorio de pruebas de Firebase

Módulo 11: Temas avanzados de Firebase

© Copyright 2024. Todos los derechos reservados