Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

209
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda