Você pode excluir vários documentos de uma collection em uma única operação ligando para o métododelete_many() em uma Collection
instância.
Passe um filtro de query para o método delete_many()
para excluir documento na collection que correspondam ao filtro. Se você não incluir um filtro, o MongoDB excluirá todos os documento na collection.
O delete_many()
método retorna um tipo DeleteResult. Este tipo contém informações sobre a operação de exclusão, como o número total de documentos excluídos.
Para saber mais sobre as operações de exclusão, consulte o guia Excluir documentos .
Dica
Para excluir todos os documentos em uma coleção, considere chamar o método drop()
em uma instância Collection
. Para saber mais sobre o método drop()
, consulte a seção Soltar uma coleção do guia Bancos de dados e coleções.
Exemplo
Este exemplo exclui todos os documentos que correspondem a um filtro de queries da coleção restaurants
no banco de dados sample_restaurants
.
Este exemplo passa um filtro de query como um parâmetro para o método delete_many()
. O filtro corresponde a documentos nos quais o valor do campo borough
é "Manhattan"
e o valor do campo address.street
é "Broadway"
.
Selecione a aba Asynchronous ou Synchronous para ver o código correspondente para cada tempo de execução:
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