Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
Firebase: mejores prácticas para mostrar elementos

Quisiera una sugerencia. Estoy desarrollando una aplicación web usando react-js como frontend y firebase como backend.

En aras de la simplicidad, digamos que el objetivo de la aplicación web es permitir que el usuario cargue algunos elementos que luego se muestran en la página de inicio.

Un elemento consta de dos cadenas: 1) nombre del elemento 2) URL que apunta a una imagen almacenada en IPFS

Una vez que el usuario envía un formulario, la interfaz crea un nuevo documento en una colección en firestore:

 await addDoc(collectionRef, newDoc)

Luego, en la página de inicio, muestro todos los elementos de la colección.

 const querySnapshot = await getDocs(collectionRef); querySnapshot.forEach((doc) => { ... });

Esto funciona; sin embargo, si lo he entendido correctamente, cada vez que se actualiza la página de inicio, la interfaz hace N llamadas de lectura (donde N es la cantidad de documentos en la colección). Por lo tanto, me pregunto si es el enfoque correcto, ¿hay una mejor manera?

Realmente aprecio cualquier sugerencia (también con respecto a posibles fallas de seguridad importantes en esta configuración)

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cada vez que se actualiza la página de inicio, la interfaz realiza N llamadas de lectura (donde N es la cantidad de documentos en la colección).

Con const querySnapshot = await getDocs(collectionRef); De hecho, este es el caso: se obtienen todos los documentos de la colección .

Si su colección contiene una gran cantidad de documentos y se recupera con frecuencia, esto le costará dinero y, en un momento, el rendimiento de su aplicación puede verse degradado (duración de la ejecución de la consulta de Firestore y muchos documentos transferidos desde el back-end al Interfaz).

Un enfoque para evitar eso es usar la paginación y obtener solo los primeros X documentos y mostrar un enlace para obtener los X siguientes, etc.

Hay una página en la documentación de Firestore dedicada a la implementación de la paginación.


También podría implementar un mecanismo de desplazamiento infinito en lugar de un enlace, para cargar el siguiente conjunto de documentos X continuamente a medida que el usuario se desplaza hacia abajo en la página. Esa es solo una variación de la interfaz de usuario y se basa exactamente en el mismo enfoque detallado en la documentación de Firestore.


También con respecto a posibles fallas de seguridad importantes en esta configuración

Obtener todos los documentos de una colección o usar la paginación no hace ninguna diferencia en términos de seguridad. En cualquier caso, debe implementar la seguridad de acuerdo con sus requisitos mediante el uso de reglas de seguridad (y potencialmente también Firebase Auth ). Y no olvide que las reglas de seguridad no son filtros .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda