Puede actualizar un documento en una colección llamando al update_one() método en un
Collection instancia.
Pase los siguientes parámetros al método update_one():
Filtro de consulta, que especifica los criterios a coincidir
Documento de actualización, que especifica las actualizaciones a realizar en el primer documento coincidente
El update_one() método devuelve un tipo UpdateResult que contiene información sobre los resultados de la operación de actualización, como la cantidad de documentos modificados.
Para obtener más información sobre el método update_one(), consulte la
Sección Actualizar documentos de la guía Modificar documentos.
Ejemplo
Este ejemplo actualiza un documento en la colección restaurants de la base de datos sample_restaurants.
El siguiente código agrega el campo price a un documento cuyo valor del campo name es "Spice Market". MongoDB actualiza el primer documento que coincide con el filtro de consulta.
Seleccione el Asynchronous o la pestaña Synchronous para ver el código correspondiente para cada entorno de ejecución:
use std::env; use mongodb::{ bson::{ Document, doc }, Client, Collection }; async fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri).await?; let my_coll: Collection<Document> = client .database("sample_restaurants") .collection("restaurants"); let filter = doc! { "name": "Spice Market" }; let update = doc! { "$set": doc! {"price": "$$$"} }; let res = my_coll.update_one(filter, update, None).await?; println!("Updated documents: {}", res.modified_count); Ok(()) }
Updated documents: 1
use std::env; use mongodb::{ bson::{ Document, doc }, sync::{ Client, Collection } }; fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri)?; let my_coll: Collection<Document> = client .database("sample_restaurants") .collection("restaurants"); let filter = doc! { "name": "Spice Market" }; let update = doc! { "$set": doc! {"price": "$$$"} }; let res = my_coll.update_one(filter, update, None)?; println!("Updated documents: {}", res.modified_count); Ok(()) }
Updated documents: 1