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

346
Views
Error de Firebase: TypeError: no se puede usar el operador 'in' para buscar '_delegate' en undefined

Soy nuevo en firebase y he tenido algunas dificultades en los últimos dos días para consultar y eliminar documentos de una colección. Específicamente, estoy tratando de borrar toda mi colección de datos ficticios de la empresa cada vez que inicio el servidor antes de recorrer los datos ficticios y escribirlos en la colección (para evitar la duplicación).

He podido tomar los datos ficticios de mi empresa y escribirlos en mi colección de 'empresas' sin ningún problema. El problema es cuando intento eliminar un documento de la colección; no se elimina y parece arrojar el siguiente error al pasar la variable de recuperación al método deleteDoc().

Nota: Decidí intentar eliminar solo un documento primero. Si puedo hacerlo con éxito y se refleja en la colección de Firebase, entonces debería poder borrar toda la colección sin problemas.

TypeError: no se puede usar el operador 'in' para buscar '_delegate' en undefined

Entiendo que la palabra clave 'in' solo es válida cuando se verifica si existe una propiedad en un objeto. Registré los datos en cada punto de la función para asegurarme de que hacía referencia al documento correctamente y pasaba el tipo de datos apropiado a la función deleteDoc() (que sería un objeto).

Aquí está mi código para escribir los datos ficticios en la base de datos (funciona bien):

 export const dummyDataToFirebase = async() => { try { const batch = writeBatch(db); dummyData.forEach(doc => { addDoc(companyRef, doc) console.log(doc) }) await batch.commit(); console.log('success!') } catch (error) { console.error(error, 'try again!'); } }

Aquí está mi código para eliminar un documento de la colección de la base de datos (problema)

 const deleteOne = async () => { try { const docRef = doc(companyRef, '86e9cade14e2a972c526db4b7c828ed7') const retrieve = await getDoc(docRef) console.log(retrieve) await deleteDoc(retrieve) if(retrieve.exists()) { console.log('still exists') } else { console.log('it worked!') } } catch (error) { console.error(error, 'nope') } } deleteOne()

Aquí está el error que recibo de la función deleteDoc que escribí:

index.js:1 TypeError: no se puede usar el operador 'in' para buscar '_delegate' en undefined en Tc (index.esm2017.js:14691) en ph (index.esm2017.js:17522) en deleteOne (Firebase.jsx: 101) 'nope'[ingrese la descripción de la imagen aquí][1]

recuperar el objeto que está registrado en la consola [1]: https://i.stack.imgur.com/srxpq.png error en la consola [2]: https://i.stack.imgur.com/p2xQk.png

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

0

deleteDoc necesita una DocumentReference . Lo que está pasando es DocumentSnapshot . Si usa deleteDoc(docRef) , no debería recibir este error.

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!