Hoy ando trabajando con algunas cosas de Firebase, específicamente migrando de Realtime database a Firestore y me confundí un poco al eliminar un documento.
Por ello es que en este post te mostraré cómo eliminar un documento (de una colección) a través de su ID al usar Firestore Database en la versión web.
Antes de eliminar el documento debemos tener una referencia al mismo. Para ello necesitamos el nombre de la colección y su ID (se puede obtener de distintas maneras, supongo, pero esto me funcionó a mí y siento que con el ID no se falla).
Necesitamos entonces invocar a doc
, pasando la base de datos y la ruta del mismo. En mi caso quiero eliminar a un usuario de mi colección usuarios así que:
const referencia = doc(bd, "usuarios", usuario.id);
No te confundas. La variable usuario
es una variable que tiene los datos del usuario registrado en mi base de datos, y entre ellas está el id
.
Ese id se lo puse yo al obtenerlo desde la snapshot, fíjate en la línea 4 que estoy tomando el id de la snapshot:
const instantanea = await getDocs(this.coleccionUsuarios);
instantanea.forEach((datoInstantanea) => {
this.usuarios.push({
id: datoInstantanea.id,
nombre: datoInstantanea.data().nombre,
});
});
Y en este caso "usuarios"
es el nombre de mi colección. Por cierto, bd
es la referencia a la base de datos.
Ahora que ya tenemos la referencia al documento invocamos a deleteDoc
pasándole el documento:
await deleteDoc(
doc(bd, "usuarios", usuario.id)
);
Y así es como se va a eliminar de nuestra colección en Firebase usando Firestore Database, a filtrando por el id del documento.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.