Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Borra varios documentos

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 eliminar todos los documentos de una colección, considere llamar al drop() método en una Collection instancia. Para obtener más información sobre el drop() método,consulte la sección "Eliminar una colección" de la guía "Bases de datos y colecciones".

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. El método delete_many() elimina documentos en los que el valor del campo borough es "Manhattan" y el valor del campo address.street es "Broadway".

Se puede acceder a los documentos en la colección restaurants como instancias del tipo Document o de un tipo de datos personalizado. Para especificar el tipo de dato que representa la colección de datos, reemplaza el parámetro de tipo <T> en la línea resaltada con uno de los siguientes valores:

  • <Document>: Accede a documentos de la colección como documentos BSON

  • <Restaurant>: Accede a documentos de la colección como instancias de la estructura Restaurant, definida en la parte superior del código

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
};
use serde::{ Deserialize, Serialize };
#[derive(Debug, Serialize, Deserialize)]
struct Address {
street: String,
city: String,
}
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
name: String,
borough: String,
address: Address,
}
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri).await?;
// Replace <T> with the <Document> or <Restaurant> type parameter
let my_coll: Collection<T> = client
.database("sample_restaurants")
.collection("restaurants");
let filter =
doc! { "$and": [
doc! { "borough": "Manhattan" },
doc! { "address.street": "Broadway" }
]
};
let result = my_coll.delete_many(filter).await?;
println!("Deleted documents: {}", result.deleted_count);
Ok(())
}
// Your values might differ
Deleted documents: 615
use mongodb::{
bson::{ Document, doc },
sync::{ Client, Collection }
};
use serde::{ Deserialize, Serialize };
#[derive(Debug, Serialize, Deserialize)]
struct Address {
street: String,
city: String,
}
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
name: String,
borough: String,
address: Address,
}
fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri)?;
// Replace <T> with the <Document> or <Restaurant> type parameter
let my_coll: Collection<T> = client
.database("sample_restaurants")
.collection("restaurants");
let filter =
doc! { "$and": [
doc! { "borough": "Manhattan" },
doc! { "address.street": "Broadway" }
]
};
let result = my_coll.delete_many(filter).run()?;
println!("Deleted documents: {}", result.deleted_count);
Ok(())
}
// Your values might differ
Deleted documents: 615

Volver

deleteOne