Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Delete Documents

En esta guía, puedes aprender cómo remover documentos de tus colecciones de MongoDB utilizando operaciones de borrar.

Esta guía incluye las siguientes secciones:

  • Datos de muestra para ejemplos presenta los datos de muestra que se utilizan en el ejemplo de operación de eliminación

  • Borrar operaciones describe cómo utilizar el driver para ejecutar operaciones de borrado

  • Eliminar ejemplos proporciona ejemplos de código para las operaciones de eliminación

  • Información adicional proporciona enlaces a recursos y documentación de la API para los tipos y métodos mencionados en esta guía

El ejemplo de esta guía utiliza los siguientes documentos de muestra. Cada documento representa un artículo en el inventario de una tienda y contiene información sobre su categorización y precio unitario:

{ "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 }

El driver Rust proporciona el delete_one() y delete_many() métodos para realizar operaciones de eliminación.

Los métodos delete_one() y delete_many() reciben un filtro de query como parámetro. Un filtro de query está formado por los campos y valores que constituyen los criterios para que los documentos coincidan.

Puedes modificar el comportamiento de los métodos de operación de borrado encadenando los métodos del desarrollador de opciones a delete_one() y delete_many(). Estos métodos de opciones establecen campos en la estructura DeleteOptions.

Nota

Opciones de configuración

Puedes establecer los campos de DeleteOptions encadenando directamente los métodos del generador de opciones a la llamada del método de eliminación. Si está utilizando una versión anterior del controlador, debe construir una instancia de DeleteOptions encadenando los métodos del generador de opciones al método builder(). A continuación, pasa la instancia de opciones como parámetro a delete_one() o delete_many().

La siguiente tabla describe las opciones disponibles en DeleteOptions:

Opción
Descripción

collation

The collation to use when sorting results. To learn more about collations, see the Collations guide.

Type: Collation
Default: 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

The index to use for the operation. To learn more about indexes, see Indexes in the Server manual. This option is available only when connecting to MongoDB Server versions 4.4 and later.

Type: Hint
Default: None

let_vars

A map of parameters and values. These parameters can be accessed as variables in aggregation expressions. This option is available only when connecting to MongoDB Server versions 5.0 and later.

Type: Document

comment

An arbitrary Bson value tied to the operation to trace it through the database profiler, currentOp, and logs. This option is available only when connecting to MongoDB Server versions 4.4 and later.

Type: Bson
Default: None

El siguiente código muestra cómo establecer el campo comment encadenando el método comment() al método delete_one():

let res = my_coll
.delete_one(filter)
.comment(bson!("hello!"))
.await?;

Los métodos delete_one() y delete_many() devuelven un tipo DeleteResult. Este tipo contiene la propiedad deleted_count que describe la cantidad de documentos eliminados. Si ningún documento coincide con el filtro de query que especificaste, la operación de borrado no remueve ningún documento y el valor de deleted_count es 0.

Esta sección proporciona ejemplos de código para las siguientes operaciones de eliminación:

El siguiente ejemplo utiliza el método delete_one() para borrar un documento que tiene un valor de item igual a "placemat":

let filter = doc! { "item": "placemat" };
let res = my_coll.delete_one(filter).await?;
println!("Deleted documents: {}", res.deleted_count);
Deleted documents: 1

Este ejemplo realiza las siguientes acciones:

  • Llama al método delete_many()

  • Pasa un filtro de query a delete_many() que coincide con los documentos donde el valor de category es "garden"

  • Encadena el método hint() a delete_many() para utilizar el índice _id_ como referencia para la operación de borrado

let filter = doc! { "category": "garden" };
let hint = Hint::Name("_id_".to_string());
let res = my_coll
.delete_many(filter)
.hint(hint)
.await?;
println!("Deleted documents: {}", res.deleted_count);
Deleted documents: 2

Nota

Si utiliza el método delete_one() en lugar de delete_many() en el ejemplo de código anterior, el controlador elimina solo el primero de los dos documentos que coinciden con el filtro de consulta.

Para ejemplos ejecutables de las operaciones de eliminación, consulta los siguientes ejemplos de uso:

Para obtener más información sobre las operaciones de esta guía, consulte la siguiente documentación:

Para obtener más información sobre los métodos y tipos mencionados en esta guía, vea la siguiente documentación de la API:

Volver

Modify

En esta página