Se pueden borrar varios documentos de una colección en una sola operación llamando al delete_many()
método sobre un Collection instancia.
Pase un filtro de query al método delete_many() para eliminar los documentos en la colección que coincidan con el filtro. Si no incluyes un filtro, MongoDB elimina todos los documentos de la colección.
El método delete_many() devuelve un DeleteResult tipo. Este tipo contiene información sobre la operación de eliminación, como el número total de documentos eliminados.
Para obtener más información sobre las operaciones de borrar, consulte la Guía borrar documentos.
Tip
Para borrar todos los documentos de una colección, considera llamar al método drop() en una instancia Collection. Para obtener más información sobre el método drop(), consulte la sección Descartar una colección de la guía Bases de datos y colecciones.
Ejemplo
Este ejemplo elimina todos los documentos que coinciden con un filtro de query de la colección restaurants en la base de datos sample_restaurants.
Este ejemplo pasa un filtro de query como parámetro al método delete_many(). El filtro coincide con los documentos en los que el valor del campo borough es "Manhattan" y el valor del campo address.street es "Broadway".
Selecciona el Asynchronous o la pestaña Synchronous para ver el código correspondiente para cada entorno de ejecución:
use mongodb::{ bson::{ Document, doc }, Client, Collection }; async fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri).await?; let my_coll: Collection<Document> = client .database("sample_restaurants") .collection("restaurants"); let filter = doc! { "$and": [ doc! { "borough": "Manhattan" }, doc! { "address.street": "Broadway" } ] }; let result = my_coll.delete_many(filter, None).await?; println!("Deleted documents: {}", result.deleted_count); Ok(()) }
// Your values might differ Deleted documents: 615
use mongodb::{ bson::{ Document, doc }, sync::{ Client, Collection } }; fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri)?; let my_coll: Collection<Document> = client .database("sample_restaurants") .collection("restaurants"); let filter = doc! { "$and": [ doc! { "borough": "Manhattan" }, doc! { "address.street": "Broadway" } ] }; let result = my_coll.delete_many(filter, None)?; println!("Deleted documents: {}", result.deleted_count); Ok(()) }
// Your values might differ Deleted documents: 615