Puede eliminar un documento de una colección llamando al eliminar_uno() método en un Collection
instancia.
Pase un filtro de consulta al delete_one() método para encontrar el documento que desea eliminar de la colección. Si varios documentos coinciden con el filtro de consulta, MongoDB elimina el primero según su orden natural en la base de datos o según el orden de clasificación especificado en una instancia de DeleteOptions.
El delete_one() método devuelve un tipo DeleteResult. Este tipo contiene información sobre el resultado de la operación de eliminación, como el número total de documentos eliminados.
Para obtener más información sobre las operaciones de eliminación, consulte la Guía paraeliminar documentos.
Ejemplo
Este ejemplo elimina un documento que coincide con un filtro de consulta de la colección restaurants en la base de datos sample_restaurants.
Este ejemplo utiliza un filtro de consulta que busca documentos cuyo valor del campo name sea "Haagen-Dazs" y el del campo borough sea "Brooklyn". MongoDB elimina el primer documento que coincida con el filtro de consulta.
Seleccione 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