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

343
Views
Reducir la cantidad de lecturas en una consulta where

Recientemente implementé firebase en mi proyecto y creé una colección de usuarios, esta colección tiene un documento para cada usuario y cada documento tiene alrededor de 8 campos, cuando mi usuario inicia la aplicación, intento extraer el documento que corresponde a su data, así que estoy haciendo la siguiente consulta:

 async function getUserData() { const _collection = collection(db, "users") const _query = query(_collection, where("userid", "==", uniqueUserID)) const querySnapshot = await getDocs(_query) querySnapshot.forEach((doc) => { console.log(doc.data()) }) setLoadingStatus(false) }

Esta consulta funciona y me da los datos de usuario correspondientes, pero el problema es que si el usuario está demasiado abajo en la colección, ejecutará 8 lecturas por documento hasta que llegue al usuario correspondiente. He intentado implementar un sistema de caché usando a lastModified pero todavía necesito leer los datos del documento para ese campo y terminará usando más o menos la misma cantidad de lecturas. Mi pregunta es: ¿Cómo reduzco la cantidad de operaciones de lectura que se ejecutan cuando intento comparar valores en los documentos? También pensé en agregar un a como a_uniqueUserID para que se ordene alfabéticamente y ocupe el primer lugar del documento. pero es hacky. EDITAR: Así es como se ve mi estructura: ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que está malinterpretando la definición de un documento y un campo. Cuando lee un documento, siempre obtiene todos los campos de él. La instantánea contiene todo lo leído, incluso si no la usa. No hay costo adicional por campo, aparte del almacenamiento requerido para guardarlo todo. En su captura de pantalla, muestra 5 documentos, y uno de esos documentos tiene 8 campos.

Probablemente esté malinterpretando las métricas en la consola. Cuando lee y escribe documentos con la consola, también se facturan como lecturas y escrituras; el uso de la consola no es "gratuito". Lo que está viendo es una combinación de lo que está haciendo su aplicación en combinación con lo que está haciendo en la consola.

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!