Quiero eliminar un juego de mi colección de firestore, pero recibo un error:
TypeError: doc no es una función
Estoy usando la última versión de Firebase. ¿Cuál es la forma correcta de eliminar el documento?
import {where,query,deleteDoc,collection, doc, getDocs, getFirestore } from "firebase/firestore"; deleteGame(game) { const db = getFirestore(); const q = query(collection(db, "history"), where("date", "==", game.date)); const doc = getDocs(q); const quer = await getDocs(q); quer.forEach((doc) => { deleteDoc(doc(db, "history", doc.id)); }); }
De acuerdo con la documentación de Firebase para eliminar datos , debería usar
deleteDoc(doc(db, "history", doc.id));
Pero doc debe ser la función importada de firebase/firestore
. Está reescribiendo el valor de doc con el elemento de quer ( quer.forEach(( doc ) => ).
También tienes const doc = getDocs(q);
por lo tanto, deberá cambiar el nombre de ambas variables de doc
para usar la función importada dentro de la devolución de llamada forEach.
También tenga en cuenta que esto no será subcolecciones (si tiene alguna, como se especifica en los documentos).