Docs Menu
Docs Home
/ /

Reemplazar un documento

Puede reemplazar un documento en una colección llamando al reemplazar_uno() método en un Collection instancia.

Pase los siguientes parámetros al método replace_one():

  • Filtro de consulta, que especifica los criterios a coincidir

  • Documento de reemplazo, que contiene los campos y valores que reemplazarán al primer documento coincidente

El replace_one() método devuelve un tipo UpdateResult que contiene información sobre los resultados de la operación de reemplazo, como la cantidad de documentos modificados.

Para obtener más información sobre el método replace_one(), consulte la Sección Reemplazar un documento de la guía Modificar documentos.

Este ejemplo reemplaza un documento de la colección restaurants de la base de datos sample_restaurants. El ejemplo utiliza una estructura Restaurant con los campos name, borough y cuisine para modelar los documentos de la colección.

El siguiente código reemplaza un documento cuyo valor del campo name es "Landmark Coffee Shop" por un nuevo documento. MongoDB reemplaza 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::doc, Client, Collection };
use serde::{ Deserialize, Serialize };
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
borough: String,
cuisine: String,
name: String,
}
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri).await?;
let my_coll: Collection<Restaurant> = client
.database("sample_restaurants")
.collection("restaurants");
let filter = doc! { "name": "Landmark Coffee Shop" };
let replacement = Restaurant {
borough: "Brooklyn".to_string(),
cuisine: "Café/Coffee/Tea".to_string(),
name: "Harvest Moon Café".to_string(),
};
let res = my_coll.replace_one(filter, replacement, None).await?;
println!("Replaced documents: {}", res.modified_count);
Ok(())
}
Replaced documents: 1
use std::env;
use mongodb::{ bson::doc, sync::{ Client, Collection } };
use serde::{ Deserialize, Serialize };
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
borough: String,
cuisine: String,
name: String,
}
fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri)?;
let my_coll: Collection<Restaurant> = client
.database("sample_restaurants")
.collection("restaurants");
let filter = doc! { "name": "Landmark Coffee Shop" };
let replacement = Restaurant {
borough: "Brooklyn".to_string(),
cuisine: "Café/Coffee/Tea".to_string(),
name: "Harvest Moon Café".to_string(),
};
let res = my_coll.replace_one(filter, replacement, None)?;
println!("Replaced documents: {}", res.modified_count);
Ok(())
}
Replaced documents: 1

Volver

Actualiza múltiples