Overview
En esta sección, mostramos cómo llamar a las operaciones de escritura para remover documentos de una colección en la base de datos MongoDB.
Borrar
Si desea eliminar documentos existentes de una colección, puede utilizar deleteOne() Para eliminar un documento o deleteMany() para uno o más documentos. Estos métodos aceptan un documento de consulta que coincida con los documentos que desea eliminar.
Nota
Si su aplicación utiliza información sobre el documento eliminado después de la eliminación, puede utilizar el
métodocollection.findOneAndDelete(), que tiene una interfaz similar a deleteOne() pero también devuelve el documento eliminado.
Puedes especificar el documento o documentos que se eliminarán mediante las operaciones de guardado deleteOne() o deleteMany() en un objeto JSON de la siguiente manera:
const doc = { pageViews: { $gt: 10, $lt: 32768 } };
Para borrar el primer documento coincidente utilizando el método deleteOne() o borrar todos los documentos coincidentes utilizando el método deleteMany(), pasa el documento como parámetro del método:
const deleteResult = await myColl.deleteOne(doc); const deleteManyResult = await myColl.deleteMany(doc);
Puedes imprimir el número de documentos borrados por la Operación accediendo al campo deletedCount del resultado de cada una de las llamadas a los métodos anteriores de la siguiente manera:
console.dir(deleteResult.deletedCount); console.dir(deleteManyResult.deletedCount);
Si la operación de borrado es exitosa, estas instrucciones imprimen la cantidad de documentos borrados por la operación asociada.
Ejemplo de deleteOne(): Archivo completo
Nota
Configuración de ejemplo
Este ejemplo se conecta a una instancia de MongoDB mediante una URI de conexión. Para obtener más información sobre cómo conectarse a su instancia de MongoDB, consulte Guía de conexión a MongoDB. Este ejemplo también utiliza la movies colección de la sample_mflix base de datos incluida en los conjuntos de datos de ejemplo de Atlas. Puede cargarlos en su base de datos en la versión gratuita de MongoDB Atlas siguiendo la guía de introducción de MongoDB.
Nota
No hay características específicas de TypeScript
El siguiente ejemplo de código utiliza JavaScript. No hay características específicas de TypeScript del controlador que sean relevantes para este caso de uso.
El siguiente código es un archivo completo y autónomo que realiza una operación de borrado de uno:
1 // Delete a document 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11 try { 12 const database = client.db("sample_mflix"); 13 const movies = database.collection("movies"); 14 15 /* Delete the first document in the "movies" collection that matches 16 the specified query document */ 17 const query = { title: "Annie Hall" }; 18 const result = await movies.deleteOne(query); 19 20 /* Print a message that indicates whether the operation deleted a 21 document */ 22 if (result.deletedCount === 1) { 23 console.log("Successfully deleted one document."); 24 } else { 25 console.log("No documents matched the query. Deleted 0 documents."); 26 } 27 } finally { 28 // Close the connection after the operation completes 29 await client.close(); 30 } 31 } 32 // Run the program and print any thrown exceptions 33 run().catch(console.dir);
Al ejecutar el ejemplo anterior, se produce el siguiente resultado:
Successfully deleted one document.
Si ejecutas el ejemplo más de una vez, el código produce la siguiente salida porque borraste el documento correspondiente en la primera ejecución:
No documents matched the query. Deleted 0 documents.
Ejemplo de deleteMany(): Archivo completo
Nota
Configuración de ejemplo
Este ejemplo se conecta a una instancia de MongoDB con un URI de conexión. Para obtener más información sobre cómo realizar la conexión a la instancia de MongoDB, se debe consultar la guía Conexión a MongoDB. Este ejemplo también usa la colección movies en la base de datos sample_mflix incluida en los conjuntos de datos de muestra de Atlas. Se pueden cargar en la base de datos en el nivel gratuito de MongoDB Atlas siguiendo la guía de Introducción a MongoDB.
El siguiente código es un archivo completo y autónomo que realiza una operación de borrar muchos:
1 // Delete multiple documents 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string. 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11 try { 12 const database = client.db("sample_mflix"); 13 const movies = database.collection("movies"); 14 15 /* Delete all documents that match the specified regular 16 expression in the title field from the "movies" collection */ 17 const query = { title: { $regex: "Santa" } }; 18 const result = await movies.deleteMany(query); 19 20 // Print the number of deleted documents 21 console.log("Deleted " + result.deletedCount + " documents"); 22 } finally { 23 // Close the connection after the operation completes 24 await client.close(); 25 } 26 } 27 // Run the program and print any thrown exceptions 28 run().catch(console.dir);
1 // Delete multiple documents 2 3 import { MongoClient } from "mongodb"; 4 5 // Replace the uri string with your MongoDB deployment's connection string 6 const uri = "<connection string uri>"; 7 8 const client = new MongoClient(uri); 9 10 async function run() { 11 try { 12 const database = client.db("sample_mflix"); 13 const movies = database.collection("movies"); 14 15 /* Delete all documents that match the specified regular 16 expression in the title field from the "movies" collection */ 17 const result = await movies.deleteMany({ title: { $regex: "Santa" } }); 18 19 // Print the number of deleted documents 20 console.log("Deleted " + result.deletedCount + " documents"); 21 } finally { 22 // Close the connection after the operation completes 23 await client.close(); 24 } 25 } 26 // Run the program and print any thrown exceptions 27 run().catch(console.dir);
Al ejecutar el ejemplo anterior por primera vez, se obtiene el siguiente resultado:
Deleted 19 documents
Si se ejecuta el ejemplo más de una vez, se verá el siguiente resultado porque se borraron los documentos coincidentes en la primera ejecución:
Deleted 0 documents
Documentación de la API
Para aprender más sobre cualquiera de los tipos o métodos discutidos en esta guía, consulta la siguiente documentación de la API: