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

  • Operaciones de eliminación describe cómo utilizar el controlador para ejecutar operaciones de eliminación

  • Información adicional proporciona enlaces a recursos y documentación de 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 controlador Rust proporciona la delete_one() y métodos delete_many() para realizar operaciones de eliminación.

Los métodos delete_one() y delete_many() utilizan un filtro de consulta como parámetro. Un filtro de consulta consta de los campos y valores que conforman los criterios de coincidencia de los documentos.

También puede pasar opcionalmente un tipo DeleteOptions como parámetro a cualquiera de los métodos. Puede especificar la configuración en una instancia DeleteOptions para configurar la operación de eliminación. Para usar valores predeterminados para cada configuración, especifique el valor None como parámetro de opciones.

Nota

Opciones de instanciación

El controlador de Rust implementa el patrón de diseño Builder para la creación de diversos tipos, incluyendo DeleteOptions. Puedes usar el método builder() de cada tipo para construir una instancia de opciones encadenando las funciones del constructor de opciones una a una.

La siguiente tabla describe las configuraciones que puede especificar en una instancia 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 construir una instancia DeleteOptions y pasarla al método delete_one():

let opts: DeleteOptions = DeleteOptions::builder().comment(bson!("hello!")).build();
let res = my_coll.delete_one(filter, opts).await?;

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

Este ejemplo muestra cómo llamar al método delete_many() con los siguientes parámetros:

  • Un filtro de consulta que coincide con los documentos donde el valor de category es "garden"

  • Una instancia DeleteOptions que utiliza el índice _id_ como sugerencia para la operación de eliminación

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

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 obtener ejemplos ejecutables de operaciones de eliminación, consulte 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, consulte la siguiente documentación de API:

Volver

Modify

En esta página