Exclua documentos
Nesta página
Visão geral
Neste guia, você pode aprender como usar o driver Java Reactive Streams para excluir documentos de uma coleção MongoDB realizando operações de exclusão.
Uma operação de exclusão exclui um ou mais documentos de uma coleção MongoDB . Você pode executar uma operação de exclusão utilizando os métodos deleteOne()
ou deleteMany()
.
Dados de amostra
Os exemplos neste guia usam a coleção sample_restaurants.restaurants
dos conjuntos de dados de amostra do Atlas.
Para aprender como criar um agrupamento MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o tutorial deIntrodução ao .
Importante
Biblioteca do Reator do Projeto
Este guia usa a biblioteca Project Reactor para consumir instâncias do Publisher
retornadas pelos métodos de driver Java Reactive Streams. Para saber mais sobre a biblioteca do Project Reactor e como usá-la, consulte Introdução na documentação do Reactor. Para saber mais sobre como usamos os métodos da biblioteca do Project Reactor neste guia, consulte o guia Gravar dados no MongoDB .
Excluir operações
Você pode executar operações de exclusão no MongoDB usando os seguintes métodos:
deleteOne()
, que exclui o primeiro documento que corresponde aos critérios do Atlas SearchdeleteMany()
, que exclui todos os documentos que correspondem aos critérios do Atlas Search
Cada método de exclusão requer um filtro de query, que especifica os critérios de pesquisa que determinam quais documentos selecionar para remoção. Para obter mais informações sobre filtros de query, consulte a seção Documentos de filtro de query no manual do MongoDB Server .
Excluir um documento
Para excluir um único documento de uma coleção MongoDB , chame o método deleteOne()
e passe seu filtro de query. Em seguida, passe o resultado deleteOne()
para o método Mono.from
estático de Mono
. Mono
é uma classe da biblioteca do Project Reactor. No Java Reactive Streams, os métodos do driver retornam instâncias Publisher
frios, o que significa que a operação correspondente não acontece a menos que você assine o Publisher
retornado. Este guia usa a biblioteca do Project Reactor para consumi-los. Para saber mais sobre Mono
, consulte Mono na documentação do Projeto Reactor.
O exemplo a seguir exclui um documento da collection restaurants
que tem um valor name
de "Ready Penny Inn"
:
Publisher<DeleteResult> deletePublisher = restaurants.deleteOne( eq("name", "Ready Penny Inn")); Mono.from(deletePublisher).block();
Excluir vários documentos
Para excluir vários documentos de uma coleção MongoDB , chame o método deleteMany()
e passe seu filtro de query. Em seguida, passe o resultado deleteMany()
para o método Mono.from
estático de Mono
. Mono
é uma classe da biblioteca do Project Reactor. No Java Reactive Streams, os métodos do driver retornam instâncias Publisher
frios, o que significa que a operação correspondente não acontece a menos que você assine o Publisher
retornado. Este guia usa a biblioteca do Project Reactor para consumi-los. Para saber mais sobre Mono
, consulte Mono na documentação do Projeto Reactor.
O exemplo a seguir remove todos os documentos na collection borough
restaurants
"Brooklyn"
têm um valor de :
Publisher<DeleteResult> deletePublisher = restaurants.deleteMany( eq("borough", "Brooklyn")); Mono.from(deletePublisher).block();
Personalizar a operação de exclusão
A classe DeleteOptions
contém métodos que modificam o comportamento dos métodos de exclusão. Para usar a classe DeleteOptions
, construa uma nova instância da classe e chame um ou mais de seus métodos para modificar a operação de exclusão. Você pode encadear essas chamadas de método. Para modificar o comportamento da operação de exclusão, passe a instância da classe e as chamadas de método encadeadas como o segundo argumento para o método deleteOne()
ou deleteMany()
.
Você pode utilizar os seguintes métodos na classe DeleteOptions
para modificar um método de exclusão. Todos os métodos são opcionais.
Método | Descrição |
---|---|
collation (Collation collation) | Specifies the kind of language collation to use when sorting
results. For more information, see Collation
in the MongoDB Server manual. |
hint (Bson hint) | Gets or sets the index to scan for documents.
For more information, see the hint statement
in the MongoDB Server manual. |
hint (String hint) | Gets or sets the index to scan for documents.
For more information, see the hint statement
in the MongoDB Server manual. |
let (Bson variables) | A map of parameter names and values. Values must be constant or closed
expressions that don't reference document fields. For more information,
see the let statement in the
MongoDB Server manual. |
comment (BsonValue comment) | A comment to attach to the operation. For more information, see the delete command
fields guide in the
MongoDB Server manual for more information. |
comment (String comment) | A comment to attach to the operation. For more information, see the delete command
fields guide in the
MongoDB Server manual for more information. |
Exemplo
O código abaixo usa o método deleteMany()
para excluir todos os documentos na collection restaurants
com um valor name
que inclui a string "Mongo"
. Ele também usa o método comment
para adicionar um comentário à operação.
Publisher<DeleteResult> deletePublisher = restaurants.deleteMany( regex("name", "Mongo"), new DeleteOptions().comment("Deleting Mongo restaurants")); Mono.from(deletePublisher).block();
Informações adicionais
Para obter exemplos de código executáveis de inserção de documentos com o driver Java Reactive Streams, consulte o guia Gravar dados no MongoDB .
Documentação da API
Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API: