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

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.

Tipo: 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 apenas ao conectar-se às versões 4.4 e posteriores do MongoDB Server.

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);
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.

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: