Overview
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
Eliminar ejemplos proporciona ejemplos de código para las 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.
Datos de muestra para ejemplos
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 }
Operaciones de borrar
El controlador Rust proporciona la delete_one() y métodos delete_many() para realizar operaciones de eliminación.
Parámetros
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.
opciones
Puede modificar el comportamiento de los métodos de la operación de eliminación encadenando los métodos del generador de opciones a delete_one() y delete_many(). Estos métodos de opción establecen DeleteOptions campos de estructura.
Nota
Opciones de configuración
Puede configurar los campos DeleteOptions encadenando los métodos del generador de opciones directamente a la llamada al método delete. Si utiliza una versión anterior del controlador, debe construir una instancia DeleteOptions encadenando los métodos del generador de opciones al método builder(). A continuación, pase 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 |
|---|---|
| The collation to use when sorting results. To learn more about collations,
see the Collations guide. Type: CollationDefault: None |
| 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 |
| 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: HintDefault: None |
| 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 |
| 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: BsonDefault: 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?;
Valor de retorno
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.
Eliminar ejemplos
Esta sección proporciona ejemplos de código para las siguientes operaciones de eliminación:
Eliminar un ejemplo
El siguiente ejemplo utiliza el método delete_one() para eliminar un documento que tiene un valor item de "placemat":
let filter = doc! { "item": "placemat" }; let res = my_coll.delete_one(filter).await?; println!("Deleted documents: {}", res.deleted_count);
Deleted documents: 1
Eliminar muchos ejemplos
Este ejemplo realiza las siguientes acciones:
Llama al método
delete_many()Pasa un filtro de consulta a
delete_many()que coincide con los documentos donde el valor decategoryes"garden"Encadena el método
hint()adelete_many()para utilizar 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 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.
Información Adicional
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:
Especificar una guía de consulta
Documentación de la API
Para obtener más información sobre los métodos y tipos mencionados en esta guía, consulte la siguiente documentación de API: