Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

347
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda