Menu Docs
Página inicial do Docs
/ / /
Driver de fluxos reativos do Java
/

Exclua documentos

Nesta página

  • Visão geral
  • Dados de amostra
  • Excluir operações
  • Excluir um documento
  • Excluir vários documentos
  • Personalizar a operação de exclusão
  • Exemplo
  • Informações adicionais
  • Documentação da API

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

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 Publisher instâncias do retornadas pelos métodos de driver Java Reactive Streams. Para saber mais sobre a biblioteca do Projeto 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 .

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 Search

  • deleteMany(), 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 .

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

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

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.

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

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 .

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

Substituir