PRIMEROS PASOS CON FIRESTORE: CÓMO CREAR Y CONSULTAR DATOS
First steps with firestore: How to create and query data
Ian Gutierrez Machaca Lesly Uruchi Triguero Alvaro Eliseo
Huanca L.
Instituto Tecnológico Don Bosco
gutierrez.machaca.ian@itdonbosco.org
huanca.leuca.alvaro@itdonbosco.org
uruchi.triguero.lesly@itdonbosco.org
RESUMEN
Firestore es una base de datos NoSQL de Google para almacenar y consultar datos. Para
comenzar, crea una base de datos, luego guarda información en colecciones y documentos.
Después, puedes usar consultas para recuperar y filtrar datos de manera simple y eficiente.
En comparación con otras bases de datos, se vio que Firestore es más simple para quienes recién
comienzan a programar y ofrece buenas herramientas para escalar proyectos.
PALABRAS CLAVES
Base de datos NoSQL, Firestore, colecciones, documentos, consultas.
ABSTRACT
Firestore is Google's NoSQL database for storing and querying data. To get started, create a
database, then store information in collections and documents. You can then use queries to
retrieve and filter data simply and efficiently.
Compared to other databases, Firestore was found to be simpler for beginners and offers good
tools for scaling projects.
KEYWORDS
NoSQL database, Firestore, collections, documents, queries.
1. INTRODUCCIÓN esta herramienta, como la creación de
colecciones, documentos y consultas simples.
“Cloud Firestore es una base de datos
flexible y escalable para el desarrollo en
servidores, dispositivos móviles y la Web
desde Firebase y Google Cloud.” (Firebase, La investigación permitió avanzar en el
n.d.), Se enfoca en facilitar el conocimiento práctico del uso de Firestore en
almacenamiento y consulta de datos en proyectos reales.
tiempo real.
El objetivo principal de este trabajo es
También se presentan los aspectos más aprender y aplicar los conceptos básicos de
importantes para comenzar a trabajar con Firestore, mediante ejemplos prácticos que
permitan crear y consultar datos de forma
sencilla, sentando las bases para el desarrollo a) Crear un proyecto en Firebase
de aplicaciones dinámicas y funcionales.
Si aún no lo hiciste:
● Accede a Firebase Console
2. MÉTODOS Y MATERIALES ● Haz clic en Agregar proyecto y sigue
las instrucciones para crear un nuevo
2.1. Bases de datos en tiempo real en proyecto o vincular uno existente de
Firebase Google Cloud.
“El Firebase Realtime Database es una base b) Habilitar Cloud Firestore
de datos alojada en la nube. Los datos se
almacenan como JSON y se sincronizan en ● Abre tu proyecto en Firebase
tiempo real con cada cliente conectado. Al Console.
crear aplicaciones multiplataforma con ● En el menú lateral, ve a Compilación
nuestras plataformas Apple, Android y SDK > Base de datos de Firestore.
de JavaScript, todos sus clientes comparten ● Haz clic en Crear base de datos.
una sola base de datos Realtime Database
instancia y recibirá automáticamente c) Elegir una ubicación
actualizaciones con los datos más nuevos.”
(Firebase, n.d.) Selecciona la ubicación geográfica donde se
almacenarán los datos de tu base de datos.
2.2. Documentos Esta configuración es importante y no se
puede modificar más adelante.
Para el almacenamiento Cloud Firestore
utiliza el modelo de datos que almacenan d) Seleccionar el modo de inicio
datos que contienen campos que asignan
valores. ● Modo de prueba: Permite acceso
completo a la base de datos desde
2.2.1. Colecciones clientes móviles y web. Es útil
durante el desarrollo inicial, pero no
Dicho modelo utiliza colecciones. es seguro para producción.
● Modo de producción: Restringe el
“Estos documentos se almacenan en acceso. Ideal si ya estás trabajando
colecciones, que son contenedores para tus con autenticación o desde un entorno
documentos y que puedes usar para organizar de backend seguro.
tus datos y compilar consultas.”(Firebase,
n.d.) e) Finalizar la creación
También es posible crear subcolecciones Haz clic en Crear para habilitar Firestore. Se
dentro de documentos y crear estructuras de activará también la API correspondiente en
datos jerárquicas que se ajustan a escala a tu proyecto de Google Cloud.
medida que tu base de datos crece. “El
modelo de datos de Cloud Firestore admite f) Configuración del entorno de desarrollo
cualquier estructura de datos que funcione
mejor con tu app.”(Firebase, n.d.) Para comenzar a interactuar con Firestore
desde tu aplicación web, primero debes
2.3 Crear una base de datos en Firestore instalar las dependencias:
npm install firebase@12.2.1 --save });
console.log("Document written with ID: ",
Luego, configura e inicializa Firestore en tu docRef.id);
aplicación: } catch (e) {
console.error("Error adding document: ", e);
import { initializeApp } from "firebase/app"; }
import { getFirestore } from
"firebase/firestore"; Puedes agregar otro documento con campos
const firebaseConfig = { distintos. Firestore permite documentos con
// Reemplaza con la configuración de tu estructuras variables dentro de una misma
proyecto colección:
};
const app = initializeApp(firebaseConfig); import { addDoc, collection } from
const db = getFirestore(app); "firebase/firestore";
try {
Tip: Puedes usar el Firebase Local Emulator const docRef = await addDoc(collection(db,
Suite para hacer pruebas localmente sin "users"), {
afectar tu base de datos en producción. first: "Alan",
middle: "Mathison",
2.4 Consultar Datos last: "Turing",
born: 1912
Una vez que tienes datos almacenados en tu });
base de datos Firestore, puedes leerlos tanto console.log("Document written with ID: ",
desde la consola web como mediante código. docRef.id);
} catch (e) {
a) Consultar desde Firebase Console
console.error("Error adding document: ", e);
● Entra a tu proyecto desde la consola }
● Ve a Base de datos de Firestore.
2.4. Consultar desde código
● Aquí podrás ver las colecciones,
documentos y sus datos en tiempo Para obtener todos los documentos de una
real. colección, puedes usar getDocs() del SDK
web de Firebase:
2.5 Agregar datos
import { collection, getDocs } from
Para poder consultar datos, primero debes
"firebase/firestore";
agregarlos. Firestore te permite crear
documentos en colecciones sin necesidad de const querySnapshot = await
definirlas previamente: getDocs(collection(db, "users"));
import { collection, addDoc } from querySnapshot.forEach((doc) => {
"firebase/firestore";
try { console.log(`${doc.id} =>`, doc.data());
const docRef = await addDoc(collection(db,
"users"), { });
first: "Ada",
last: "Lovelace",
born: 1815
Este fragmento recorre todos los documentos querySnapshot.forEach((doc) => {
de la colección users y muestra sus datos en // doc.data() is never undefined for query
la consola. doc snapshots
console.log(doc.id, " => ", doc.data());
Los documentos en una colección pueden });
tener estructuras diferentes. Esto le da a
Firestore una gran flexibilidad para modelar 2.7. Operadores de consultas
datos.
El método where() usa tres parámetros: un
(Fuente: https://firebase.google.com/docs/firestore) campo para filtrar, una operación de
comparación y un valor. Cloud Firestore
2.5. Consultas simples admite los siguientes operadores de
comparación:
La siguiente consulta muestra todas las
ciudades con el estado < menor que
<= menor o igual que
// Create a reference to the cities collection == igual que
import { collection, query, where } from > mayor que
"firebase/firestore"; >= mayor que o igual que
const citiesRef = collection(db, "cities"); != no igual a
// Create a query against the collection. array-contains
const q = query(citiesRef, where("state", array-contains-any
"==", "CA")); in
not-in
2.6. Ejecuta una consulta:
Después de crear un objeto de consulta, usa
la función get() para recuperar los
resultados:
import { collection, query, where, getDocs }
from "firebase/firestore";
const q = query(collection(db, "cities"),
where("capital", "==", true));
const querySnapshot = await getDocs(q);
Figura 1. Pasos
Fuente: Primeros pasos con Firebase Firestore: creación y consulta de datos.
M., & Rivera, J. (2023)
facilita el desarrollo de aplicaciones
dinámicas. Su simplicidad en la gestión de
3. DISCUSIÓN colecciones y documentos lo hace ideal para
Aplicaciones colaborativas: Su principiantes, mientras que sus funciones en
sincronización en tiempo real la hace tiempo real y capacidad de escalabilidad lo
perfecta para herramientas de gestión de convierten en una opción sólida para
proyectos, aplicaciones de mensajería y proyectos más avanzados.
editores de documentos compartidos donde
los usuarios necesitan acceso instantáneo a
información actualizada.
Aplicaciones de juegos: La estructura de
datos en tiempo real de Firestore la convierte
en una opción adecuada para crear juegos
multijugador en línea y administrar el estado
del juego de forma eficiente.
Plataformas de comercio electrónico:
Puede usarse en tiendas en línea para
gestionar productos, pedidos y la
información de los usuarios.
4. DISCUSION
5. CONCLUSIONES
En conclusión, Firestore se presenta como
una base de datos moderna y flexible que
BIBLIOGRAFÍA.
González, M., & Rivera, J. (2023). Primeros
pasos con Firebase Firestore:
creación y consulta de datos.
Editorial TechLearning, Madrid.
https://appmaster.io/es/blog/base-de-datos-
nosql-de-firestore
https://siip.produccion.gob.bo/noticias/files/
BI_050820209ce83_bolivia.pdf
https://firebase.google.com/docs/database
https://firebase.google.com/docs/firestore
https://firebase.google.com/docs/firestore/
query-data