Menu Docs
Página inicial do Docs
/ / /
Driver Rust
/

Excluir vários documentos

Você pode excluir vários documentos de uma coleção 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 DeleteResult tipo. 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.

Este exemplo exclui todos os documentos que correspondem a um filtro de query da coleção restaurants no banco de dados sample_restaurants. O método delete_many() exclui documentos nos quais o valor do campo borough é "Manhattan" e o valor do campo address.street é "Broadway".

Você pode acessar os documentos na coleção restaurants como instâncias do tipo Document ou um tipo de dados personalizado. Para especificar qual tipo de dados representa os dados da coleção, substitua o parâmetro de tipo <T> na linha realçada por um dos seguintes valores:

  • <Document>: acessa documentos de coleção como documentos BSON

  • <Restaurant>: acessa documentos de coleção como instâncias da estrutura Restaurant, definidas na parte superior do código

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
};
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

Voltar

Excluir um