Tengo una colección que contiene un par de documentos que contienen un campo de identificación individual. Pero no puedo averiguar cómo puedo eliminar un documento específico según mi consulta. He probado con esto:
const deleteItem = async(item) => { const d = query(collection(db, 'allTasks'), where('id', '==', item.id)); const docSnap = await getDocs(d); docSnap.forEach((doc) => { console.log(doc.data()) deleteDoc(doc.data()); }); }Pero recibo el error: [Rechazo de promesa no manejado: TypeError: t no es un objeto. (evaluando '"_delegate" en t')]
¿Es esta la forma incorrecta o debo usar lote? El archivo console.log muestra el elemento correcto en el que hice clic en Eliminar
La función deleteDoc() toma DocumentReference como parámetro y no los datos del documento.
docSnap.forEach((doc) => { deleteDoc(doc.ref); // and not doc.data() });Además, podría ser una buena idea usar un lote para eliminar documentos para asegurarse de que se eliminen todos o ninguno.