Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

125
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!