Firebase

Firestore web: eliminar documento por id

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.

Obteniendo referencia al documento

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.

Eliminar documento por ID en Firestore

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.