Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

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:

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 de Rust proporciona los métodos delete_one() y delete_many() para realizar operaciones de borrar.

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.

También puedes pasar opcionalmente un tipo DeleteOptions como parámetro a cualquiera de los dos métodos. Puedes especificar ajustes en una instancia DeleteOptions para configurar la operación de eliminación. Para utilizar los valores por defecto en cada configuración, especifica el valor None como el parámetro de opciones.

Nota

Opciones de instanciación

El driver de Rust implementa el patrón de diseño Builder para la creación de muchos tipos diferentes, incluido DeleteOptions. Puedes usar el método builder() de cada tipo para construir una instancia de opciones encadenando funciones constructoras de opciones una tras otra.

La siguiente tabla describe la configuración que puedes especificar en una instancia de DeleteOptions:

Opción
Descripción

collation

La intercalación que se utilizará al ordenar los resultados. Para obtener más información sobre las intercalaciones, consulte la guía Intercalación.

Tipo: Collation
Por defecto: None

write_concern

El nivel de confirmación de escritura (write concern) para la operación. Si no establece esta opción, la operación hereda el nivel de confirmación de escritura (write concern) establecido para la colección. Para obtener más información sobre el nivel de confirmación de escritura (write concern), consulta Nivel de confirmación de escritura (write concern) en el manual del servidor.

Tipo: WriteConcern

hint

El índice que se utilizará para la operación. Para obtener más información sobre los índices, consulte Índices en el manual del servidor. Esta opción solo está disponible cuando se conecta a MongoDB Server versiones 4.4 y posteriores.

Tipo: Hint
Por defecto: None

let_vars

Un mapa de parámetros y valores. Se puede acceder a estos parámetros como variables en las expresiones de agregación. Esta opción solo está disponible cuando se conecta a las versiones 5.0 y posteriores de MongoDB Server.

Tipo: Document

comment

Un valor Bson arbitrario vinculado a la operación para rastrearlo a través del perfilador de base de datos, currentOp y los registros. Esta opción solo está disponible cuando se conecta a MongoDB Server versiones 4.4 y posteriores.

Tipo: Bson
Por defecto: 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 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.

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

  • Un filtro de query que coincide con 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 driver solo borrará el primero de los dos documentos que coincidan con el filtro de query.

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

Para obtener más información sobre las operaciones en 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: