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

358
Vistas
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 Respuestas
Responde la pregunta

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 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