Atualizar vários documentos
Você pode atualizar vários documentos em uma coleção chamando o update_many() método em uma Collection
instância do .
Passe os seguintes parâmetros para o método update_many()
:
Filtro de query, que especifica os critérios a serem correspondidos
Documento de atualização, que especifica as atualizações a serem feitas em todos os documentos correspondentes
O update_many()
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_many()
, 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 near_me
a documentos nos quais o valor do campo address.street
é "Sullivan Street"
e o campo borough
é "Manhattan"
.
Selecione a aba Asynchronous ou Synchronous para ver o código correspondente para cada tempo de execução:
use std::env; use mongodb::{ bson::doc, Client, Collection }; use bson::Document; 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! { "address.street": "Sullivan Street", "borough": "Manhattan" }; let update = doc! { "$set": doc! { "near_me": true } }; let res = my_coll.update_many(filter, update).await?; println!("Updated documents: {}", res.modified_count); Ok(()) }
// Your values might differ Updated documents: 22
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! { "address.street": "Sullivan Street", "borough": "Manhattan" }; let update = doc! { "$set": doc! { "near_me": true } }; let res = my_coll.update_many(filter, update).run()?; println!("Updated documents: {}", res.modified_count); Ok(()) }
// Your values might differ Updated documents: 22