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

149
Vistas
¿Firestore en la web cobra dos lecturas para dos oyentes?

Usando Firestore Web API v9, supongamos que tengo un detector de colección y un detector de documentos para un documento en esa colección. Aparece una actualización para ese documento.

Dos preguntas:

  1. ¿Me cobran por dos lecturas?
  2. ¿Es esta una práctica aceptable en general? ¿El SDK devuelve los datos dos veces o los envía una vez y envía una actualización dos veces?

Ejemplo:

 collectionSnapshots(collection(firestore, 'people')).subscribe(...); docSnapshots(doc(firestore, 'people/john')).subscribe(...);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

¿Me cobran por dos lecturas?

Se le cobra por la cantidad de documentos que se leen, independientemente de la cantidad de oyentes que tenga. Si la colección de 'personas' tiene 50 documentos y el oyente devuelve 50 documentos, se le cobrarán 50 lecturas. Cualquier actualización recibida más tarde se cobrará 1 lectura por actualización.

¿El SDK devuelve los datos dos veces o los envía una vez y envía una actualización dos veces?

Cuando se agrega el oyente, devolverá todos los documentos que coincidieron con su consulta (en este caso, la colección completa de personas). Después de eso, siempre que se agregue/actualice/elimine un documento, el oyente recibirá la actualización.

Sí, si tiene un oyente en la colección de personas y otro oyente en un documento de esa colección. Ambos oyentes obtendrán datos actualizados y se le cobrarán 2 lecturas por esa única actualización. Sin embargo, no necesita otro oyente solo para un solo documento. Puede leer la identificación del documento de los cambios recibidos y actualizarla en su aplicación web.

 import { collection, query, where, onSnapshot } from "firebase/firestore"; const q = query(collection(db, "people")); const unsubscribe = onSnapshot(q, (snapshot) => { snapshot.docChanges().forEach((change) => { if (change.type === "modified") { // a document in people collection is modified const docId = change.doc.id; const docData = change.doc.data(); } }); });
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