Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Exclua documentos

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:

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 }

O driver Rust fornece os métodos delete_one() e delete_many() para executar operações de exclusão.

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

collation

O agrupamento a ser usado ao classificar os resultados. Para saber mais sobre agrupamentos, consulte o guia Agrupamentos.

Tipo: Collation
Padrão: None

write_concern

The write concern for the operation. If you don't set this option, the operation inherits the write concern set for the collection. To learn more about write concerns, see Write Concern in the Server manual.

Type: WriteConcern

hint

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 somente ao conectar às versões.4 do MongoDB Server4 e posteriores.

Tipo: Hint
Padrão: None

let_vars

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.

Tipo: Document

comment

Um valor Bson arbitrário vinculado à operação para rastreá-lo através do profiler de banco de dados, currentOp e logs. Esta opção está disponível apenas ao conectar-se às versões 4.4 do MongoDB Server e posteriores.

Tipo: Bson
Padrão: None

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

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.

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 DeleteOptions que 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);

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.

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:

Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: