Visão geral
Neste guia, você pode aprender como remover documento de sua collection MongoDB usando operações de exclusão.
Este guia inclui as seguintes seções:
Amostra de dados para exemplos apresenta os dados de amostra que são usados pelo exemplo de operação de exclusão
Operações de exclusão descreve como usar o driver para executar operações de exclusão
Informações adicionais fornecem links para recursos e documentação da API para os tipos e métodos mencionados neste guia
Dados de amostra para exemplos
O exemplo deste guia usa os seguintes documentos de amostra. Cada documento representa um item no estoque de uma loja e contém informações sobre sua categorização e preço unitário:
{ "item": "trowel", "category": "garden", "unit_price": 9.89 }, { "item": "placemat", "category": "kitchen", "unit_price": 3.19 }, { "item": "watering can", "category": "garden", "unit_price": 11.99 }
Excluir operações
O driver Rust fornece os métodos delete_one() e delete_many() para executar operações de exclusão.
Parâmetros
Os métodos delete_one() e delete_many() usam um filtro de query como parâmetro. Um filtro de query consiste nos campos e valores que formam critérios para a correspondência de documentos.
Opcionalmente, você também pode passar um tipo DeleteOptions como parâmetro para qualquer método. Você pode especificar as configurações em uma instância DeleteOptions para configurar a operação de exclusão. Para usar valores padrão para cada configuração, especifique o valor None como o parâmetro de opções.
Observação
Opções de Instanciação
O driver Rust implementa o padrão de design Builder para a criação de muitos tipos diferentes, incluindo DeleteOptions. Você pode usar o método builder() de cada tipo para construir uma instância de opções encadeando as funções do construtor de opções, uma de cada vez.
A tabela a seguir descreve as configurações que você pode especificar em uma instância do DeleteOptions :
Opção | Descrição |
|---|---|
| O agrupamento a ser usado ao classificar os resultados. Para saber mais sobre agrupamentos, consulte o guia Agrupamentos. |
| O write concern para a operação. Se você não definir esta opção, a operação herdará o write concern definido para a coleção. Para saber mais sobre write concern, consulte write concern no manual do servidor. |
| O índice a ser usado para a operação. Para saber mais sobre índices, consulte Índices no manual do servidor. Esta opção está disponível apenas ao conectar-se às versões 4.4 e posteriores do MongoDB Server. |
| Um mapa de parâmetros e valores. Esses parâmetros podem ser acessados como variáveis em expressões de agregação. Esta opção está disponível apenas ao conectar-se às versões 5.0 e posteriores do MongoDB Server. |
| Um valor |
O seguinte código mostra como construir uma instância DeleteOptions e passá-la para o método delete_one() :
let opts: DeleteOptions = DeleteOptions::builder().comment(bson!("hello!")).build(); let res = my_coll.delete_one(filter, opts).await?;
Valor de retorno
Os métodos delete_one() e delete_many() retornam um tipo DeleteResult . Este tipo contém a propriedade deleted_count , que descreve o número de documentos excluídos. Se nenhum documento corresponder ao filtro de query que você especificou, a operação de exclusão não removerá nenhum documento, e o valor de deleted_count será 0.
Exemplo de delete_many()
Este exemplo mostra como chamar o método delete_many() com os seguintes parâmetros:
Um filtro de query que corresponda a documentos onde o valor de
categoryé"garden"Uma instância
DeleteOptionsque utiliza o índice_id_como dica para a operação de exclusão
let filter = doc! { "category": "garden" }; let hint = Hint::Name("_id_".to_string()); let opts: DeleteOptions = DeleteOptions::builder().hint(hint).build(); let res = my_coll.delete_many(filter, opts).await?; println!("Deleted documents: {}", res.deleted_count);
Deleted documents: 2
Observação
Se você utilizar o método delete_one() em vez de delete_many() no exemplo de código anterior, o driver excluirá somente o primeiro dos dois documentos que correspondem ao filtro de query.
Informações adicionais
Para obter exemplos executáveis das operações de exclusão, consulte os seguintes exemplos de uso:
Para saber mais sobre as operações neste guia, consulte a seguinte documentação:
Guia de agrupamentos
Documentação da API
Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: