Presentación

Firebase Auth

Cloud Firestore

Cloud Storage

Cloud Functions

Curso Firebase para Web se encuentra en desarrollo. Vuelve pronto para encontrar nuevas lecciones.

  • En esta lección hablaremos de un tema importante: los índices de Cloud Firestore. Es un tema complejo pero nosotros vamos a ser fieles a la filosofía del curso tratando de aprender lo esencial para poder entender y utilizar esta característica a nuestro favor.
  • Para entender lo que es el índice de una base de datos podemos usar el ejemplo del índice de un libro. Este último asocia temas o capítulos a un número de página. En nuestro caso, los índices de Cloud FIrestore asocia un elemento de la base de datos a su localización en la misma.
  • Tradicionalmente si no se dispone de un índice, se buscan los resultados examinando elemento por elemento, lo que hace que poco a poco y al final la operación se va volviendo más lenta conforme la cantidad de elementos aumenta.
  • En Firestore sin embargo, se crea automáticamente un índice con cada campo de un documento. Estos contienen una asociación de todos los documentos de la colección que contienen ese campo, y su valor. Estos índices automáticos hacen que las consultas en Firebase se resuelvan casi instantáneamente.
  • Puedes ver los índices de tu base de datos en la consola de Cloud Firestore, apartado índices. Antes de continuar puedes ver que se pueden crear exenciones a los índices. Esto es útil cuando por ejemplo tenemos un campo en los documentos de una colección que contiene una gran cantidad de texto y no vamos a usarlo en ninguna consulta. Puedes ver otras buenas prácticas en la documentación.
  • Como ves los llamados de campo único son los creados automáticamente para consultas de comparación con los operadores == e in y ordenados de forma descendente y descendente. También otro para poder consultar valores de matrices con el operador array-contains-any, tal y como hemos hecho en otra lección.
  • Por otro lado tenemos los índices compuestos, que permiten asociar los valores de dos o más campos. Cloud Firestore no puede crear índices compuestos por la sencilla razón de que son demasiadas combinaciones. Por ello se crean bajo demanda.
  • Puedes gestionar los índices compuestos desde la consola de Cloud Firestore o al realizar una consulta que lo requiera (generalmente al usar el método where() dos o más veces). En este último caso se te advertirá a través de un mensaje en la consola de la necesidad de crear un nuevo índice además de una URL que te llevará directamente a la pantalla de creación.
const query = await collectionRef
  .where("name", "==", "Guizmo")
  .orderBy("created", "asc")
  .get();

query.forEach((querySnapshot) => console.log(querySnapshot.data()));
Storyblok: el primer CMS headless tanto para desarrolladores como para marketers

El primer headless CMS tanto para desarrolladores como para marketers. Pruébalo gratis.

Código inicial
Aprende Firebase en Escuela Vue

¿Tienes alguna pregunta sobre esta lección de Curso Firebase para Web?

Resuelve todas tus dudas sobre Firebase en la Comunidad de Escuela Vue: un lugar donde participar, aprender y ayudar. ¡Te esperamos!.

Tras el registro (si no lo has hecho ya) serás redirigido/a al canal adecuado en la Comunidad.

Twitter

Sigue el día a día y todo lo relacionado con Escuela Vue a través de su cuenta de Twitter.

Discord

En la Comunidad de Escuela Vue podrás solucionar tus dudas y ayudar a otras personas como tú a solucionar las suyas.

Recibe novedades en tu 📬