Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Gestión de Índices en Firestore

5/21
Recursos

Los índices son la forma que Firebase y muchas otras bases de datos usan para realizar búsquedas y consultas de forma eficiente y escalable. Gracias a los índices nos ahorramos el tiempo y trabajo al evitar buscar nuestra información dato por dato en toda nuestra base de datos, que resultaría algo lento y poco escalable.

Tipos de índices:

  • Campo único: Almacenan el orden de todos los documentos en una colección de un sólo campo. Podemos realizar consultas con los comparadores <, <=, ==, >= y array_contains.
  • Compuestos: Almacenan el orden de todos los documentos en una colección que contiene subcampos. Usamos los mismos comparadores pero podemos hacer operaciones más complejas.

Los modos nos ayudan a organizar nuestros índices de forma ascendente, descendente o con el modo array_contains para comprobar la existencia de nuestros índices en una cierta colección.

También es muy importante controlar la auto indexación, algunos índices que Firestore crea por defecto de la siguiente manera:

  • Campos simples (no colecciones): Dos índices de campo único (ascendente y descendente).
  • Diccionarios: Dos índices de campo único (ascendente y descendente) por cada uno de los subcampos.
  • Colecciones: Un índice de tipo array_contains.

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Los índices son la capacidad de consultar nuestra información mucho más rápido: calculamos la ubicación exacta de nuestro contenido en vez de recorrer la base de datos hasta encontrar la información que buscamos.

Gracias a los índices podemos realizar búsquedas especiales con múltiples filtros y ordenamientos a las peticiones de nuestra aplicación con Firestore sin afectar la performance y la velocidad de nuestra aplicación.

Hola
Quisiera agregar que para esta clase, en la sección de Archivos y Enlaces; el enlace que aparece es el mismo de link de la clase como tal.
Me temo que es un error.
Saludos

<citiesref.where("country","==","Colombia).where("population","<", 3000>

En este caso estariamos usando una condicional donde ambos se cumplen verdad? country = colombia y poblacion menor a 300, pero como haria para hacer un OR, por que el ejemplo sería para un operador AND, nose si me explico.

Muy buena información! A seguir aprendiendo!

Ejemplos de índices de campo único:

citiesRef.where("name", "==", "Bogotá")
citiesRef.where("population", "<", "100000")
citiesRef.where("regions", "array_contains", "Amazonas")

Ejemplos de índices compuestos:

citiesRef.where("country", "==", "Colombia").orderBy("population", "asc")
citiesRef.where("population", "<", "100000").where("population", "<", 3000)
citiesRef.where("regions", "array_contains", "Amazonas").where("population", ">", 3000)

Los índices son la forma de identificar nuestra información de forma eficiente y escalable. Esto se logra gracias a que con ellos ya no es necesario hacer una búsqueda en toda la base de datos hasta encontrar lo que buscamos, además nos sirven para filtrar y ordenar la información y así obtener específicamente lo que queremos.

-Tipos de índices
Campo único:
almacena el orden de
todos los documentos
en una colección de un
sólo campo.
Compuestos :
almacena el orden de
todos los documentos
en una colección que
contiene subcampos.

-indices campo único
Este tipo de índice te permite realizar
consultas usando:
• Comparadores <, >
• Arreglos array_contains