Atualizar um documento
Você pode atualizar um documento em uma coleção chamando o update_one() método em uma Collection
instância do .
Passe os seguintes parâmetros para o método update_one()
:
Filtro de query, que especifica os critérios a serem correspondidos
Documento de atualização, que especifica as atualizações a serem feitas no primeiro documento correspondente
O update_one()
método retorna um UpdateResult tipo que contém informações sobre os resultados da operação de atualização, como o número de documentos modificados.
Para saber mais sobre o método update_one()
, consulte a seção Atualizar documentos do guia Modificar documentos.
Exemplo
Este exemplo atualiza um documento na collection restaurants
do reconhecimento de data center sample_restaurants
.
O código a seguir adiciona o campo price
a um documento no qual o valor do campo name
é "Spice Market"
. O MongoDB atualiza o primeiro documento que corresponde ao filtro de query.
Selecione a aba Asynchronous ou Synchronous para ver o código correspondente para cada tempo de execução:
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).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).run()?; println!("Updated documents: {}", res.modified_count); Ok(()) }
Updated documents: 1