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

203
Vistas
Eliminar documento dentro de una colección anidada

Estaba creando una función para borrar todos los documentos dentro de una colección anidada. He accedido de la siguiente manera.

 const deleteChat = async () => { const chatSnapShot = await db .collection("chats") .doc(router.query.id) .collection("messages") .get(); chatSnapShot.forEach((doc) => { console.log(doc.data()); }); };

¿Cómo puedo hacer eso? Este doc.data() devuelve los datos dentro de la colección de messages . He intentado usar otras soluciones pero las cosas no funcionan. La ayuda sería apreciada :)

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

get() lee todos los documentos de esa colección. Debe usar delete() para eliminar un documento. Intente refactorizar el código como se muestra a continuación:

 const deleteChat = async () => { const chatSnapShot = await db .collection("chats") .doc(router.query.id) .collection("messages") .get(); const deletePromises = chatSnapshot.docs.map(d => d.ref.delete()); await Promise.all(deletePromises) console.log("Documents deleted") };

Aquí chatSnapShot.docs es una matriz de QueryDocumentSnapshot y puede obtener DocumentReference para cada documento usando la propiedad .ref . Luego, la referencia del documento tiene el método .delete() para eliminar el documento. Este método devuelve una promesa para que pueda asignar una serie de promesas y ejecutarlas a la vez usando Promise.all()


También puede eliminar documentos en lotes de hasta 500 documentos mediante escrituras por lotes.

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