Puedes borrar un documento de una colección llamando al delete_one() método sobre un Collection
instancia.
Pasa un filtro de query al método delete_one() para hacer coincidir el documento que deseas borrar de la colección. Si varios documentos coinciden con el filtro de query, MongoDB elimina el primer documento coincidente según su orden natural en la base de datos o según el orden especificado en una instancia de Opciones de eliminación.
El método delete_one() devuelve un tipo DeleteResult. Este tipo contiene información sobre el resultado de la operación de borrado, 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.
Ejemplo
Este ejemplo borra un documento que coincida con el filtro de query de la colección restaurants en la base de datos sample_restaurants.
Este ejemplo utiliza un filtro de query que coincide con los documentos en los que el valor del campo name es "Haagen-Dazs" y el campo borough es "Brooklyn". MongoDB borra el primer documento que coincide con el filtro de query.
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! { "name": "Haagen-Dazs" }, doc! { "borough": "Brooklyn" } ] }; let result = my_coll.delete_one(filter, None).await?; println!("Deleted documents: {}", result.deleted_count); Ok(()) }
Deleted documents: 1
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! { "name": "Haagen-Dazs" }, doc! { "borough": "Brooklyn" } ] }; let result = my_coll.delete_one(filter, None)?; println!("Deleted documents: {}", result.deleted_count); Ok(()) }
Deleted documents: 1