Docs Menu
Docs Home
/ /
/ / /

Delete Documents

En esta guía, puede aprender a utilizar el controlador Java Reactive Streams para eliminar documentos de una colección MongoDB realizando operaciones de eliminación.

Una operación de eliminación elimina uno o más documentos de una colección de MongoDB. Puede realizar una operación de eliminación mediante el comando deleteOne() o métodos deleteMany().

Los ejemplos de esta guía utilizan la colección sample_restaurants.restaurants de Conjuntos de datos de muestra del Atlas.

Para aprender a crear un clúster gratuito de MongoDB Atlas y cargar los conjuntos de datos de muestra, consulte Tutorial de introducción.

Importante

Proyecto Reactor librería

Esta guía utiliza la biblioteca Project Reactor para consumir Publisher las instancias devueltas por los métodos del controlador Java Reactive Streams. Para obtener más información sobre la biblioteca Project Reactor y cómo usarla, consulte la sección "Introducción" en la documentación de Reactor. Para obtener más información sobre cómo usamos los métodos de la biblioteca Project Reactor en esta guía, consulte la guía "Escribir datos en MongoDB".

Puede realizar operaciones de eliminación en MongoDB utilizando los siguientes métodos:

  • deleteOne(), que elimina el primer documento que coincide con los criterios de búsqueda

  • deleteMany(), que elimina todos los documentos que coinciden con los criterios de búsqueda

Cada método de eliminación requiere un filtro de consulta, que especifica los criterios de búsqueda que determinan qué documentos seleccionar para su eliminación. Para obtener más información sobre los filtros de consulta, consulte la sección "Filtro de consulta de documentos" en el manual de MongoDB Server.

Para eliminar un solo documento de una colección de MongoDB, llame al deleteOne() método y pase su filtro de consulta. Luego, pase el deleteOne() resultado al método estático Mono.from Monodesde. Mono es una clase de la biblioteca Project Reactor. En Java Reactive Streams, los métodos del controlador devuelven Publisher instancias frías, lo que significa que la operación correspondiente no se realiza a menos que se suscriba a la instancia Publisher devuelta. Esta guía utiliza la biblioteca Project Reactor para consumirlas. Para obtener más información Mono sobre, consulte Mono en la documentación de Project Reactor.

El siguiente ejemplo elimina un documento de la colección restaurants que tiene un valor name de "Ready Penny Inn":

Publisher<DeleteResult> deletePublisher = restaurants.deleteOne(
eq("name", "Ready Penny Inn"));
Mono.from(deletePublisher).block();

Para eliminar varios documentos de una colección de MongoDB, llame al deleteMany() método y pase su filtro de consulta. Luego, pase el deleteMany() resultado al método estático Mono.from Monodesde. Mono es una clase de la biblioteca Project Reactor. En Java Reactive Streams, los métodos del controlador devuelven Publisher instancias frías, lo que significa que la operación correspondiente no se realiza a menos que se suscriba a la instancia Publisher devuelta. Esta guía utiliza la biblioteca Project Reactor para consumirlas. Para obtener más información Mono sobre, consulte Mono en la documentación de Project Reactor.

El siguiente ejemplo elimina todos los documentos de la colección restaurants que tengan un valor borough de "Brooklyn":

Publisher<DeleteResult> deletePublisher = restaurants.deleteMany(
eq("borough", "Brooklyn"));
Mono.from(deletePublisher).block();

La clase DeleteOptions contiene métodos que modifican el comportamiento de los métodos de eliminación. Para usar la clase DeleteOptions, cree una nueva instancia de la clase y, a continuación, invoque uno o más de sus métodos para modificar la operación de eliminación. Puede encadenar estas llamadas a métodos. Para modificar el comportamiento de la operación de eliminación, pase la instancia de la clase y las llamadas a métodos encadenados como segundo argumento del método deleteOne() o deleteMany().

Puede usar los siguientes métodos en la clase DeleteOptions para modificar un método de eliminación. Todos los métodos son opcionales.

Método
Descripción

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.

El siguiente código utiliza el método deleteMany() para eliminar todos los documentos de la colección restaurants con un valor name que incluya la cadena "Mongo". También utiliza el método comment para añadir un comentario a la operación.

Publisher<DeleteResult> deletePublisher = restaurants.deleteMany(
regex("name", "Mongo"),
new DeleteOptions().comment("Deleting Mongo restaurants"));
Mono.from(deletePublisher).block();

Para obtener ejemplos de código ejecutable sobre cómo insertar documentos con el controlador Java Reactive Streams, consulte la guía Escribir datos en MongoDB.

Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API:

Volver

Reemplaza

En esta página