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

262
Views
¿Por qué doc.data() no es una función en esta declaración if?

Cuando elimino el if-stament, obtengo los datos y doc.data() funciona, pero necesito verificar el tipo 'agregado' para no generar datos existentes una y otra vez.

Con la instrucción if, recibo este mensaje de error:

TypeError no detectado: doc.data no es una función

 async getChats(callback){ const roomFilter = query(colRef, where("room", "==", this.room)); const ordered = query(roomFilter, orderBy('created_at')); this.unsub = onSnapshot(ordered, (snapshot) => { let items = [] snapshot.docChanges().forEach(doc => { if(doc.type === 'added'){ items.push({ ...doc.data(), id: doc.id }) console.log(items); callback(items); }}) });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

snapshot.docChanges().forEach(doc => {

La variable que ha llamado doc es más que solo el documento. Tiene información adicional sobre el cambio. Con el nombre de la variable que ha elegido, debe hacer lo siguiente:

 items.push({ ...doc.doc.data(), id: doc.doc.id })

Sin embargo, consideraría cambiarle el nombre, tal vez para "cambiar"

 snapshot.docChanges().forEach(change => { if (change.type === 'added') { items.push({ ...change.doc.data(), id: change.doc.id }) console.log(items); callback(items); } })
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!