Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Referência rápida

Nesta página, você pode ver exemplos que usam o driver Rust para executar várias tarefas comuns do MongoDB. Cada linha da tabela a seguir descreve a tarefa, mostra a sintaxe do driver para executar a tarefa e inclui links para a referência relacionada e a documentação da API.

O driver Rust oferece um tempo de execução assíncrono para a execução de aplicativos assíncronos. Além disso, o driver oferece suporte a um tempo de execução síncrono de bloqueio. Para cada tarefa do MongoDB listada na tabela a seguir, você pode ver exemplos que usam a API assíncrona e síncrona.

Dica

Para saber mais sobre tempos de execução assíncronos e síncronos, consulte o guia APIs assíncronas e síncronas.

Comando
Sintaxe

Tempo de execução assíncrono

let result = collection.find_one( doc! { "title": "Peter Pan" }, None).await?;

Tempo de execução da sincronização

let result = collection.find_one( doc! { "title": "Peter Pan" }, None)?;

Tempo de execução assíncrono

let filter = doc! { "year": 1925 };let mut cursor = collection.find(filter, None).await?;

Tempo de execução da sincronização

let filter = doc! { "year": 1925 };let mut cursor = collection.find(filter, None)?;

Tempo de execução assíncrono

let doc = doc! { "title": "Mistress America", "type": "movie" }; let result = collection.insert_one(doc, None).await?;

Tempo de execução da sincronização

let doc = doc! { "title": "Mistress America", "type": "movie" }; let result = collection.insert_one(doc, None)?;

Tempo de execução assíncrono

let docs = vec![ doc! { "title": "Friends With Money", "runtime": 88 }, doc! { "title": "Please Give", "runtime": 90 }, doc! { "title": "You Hurt My Feelings", "runtime": 93 },]; let result = collection.insert_many(docs, None).await?;

Tempo de execução da sincronização

let docs = vec![ doc! { "title": "Friends With Money", "runtime": 88 }, doc! { "title": "Please Give", "runtime": 90 }, doc! { "title": "You Hurt My Feelings", "runtime": 93 },]; let result = collection.insert_many(docs, None)?;

Tempo de execução assíncrono

let filter = doc! { "title": "Burn After Reading"};let update = doc! { "$set": doc!{ "num_mflix_comments": 1 }}; let result = collection.update_one( filter, update, None).await?;

Tempo de execução da sincronização

let filter = doc! { "title": "Burn After Reading"};let update = doc! { "$set": doc!{ "num_mflix_comments": 1 }}; let result = collection.update_one( filter, update, None)?;

Tempo de execução assíncrono

let filter = doc! { "rated": "PASSED"};let update = doc! { "$set": doc!{ "rated": "Not Rated" }}; let result = collection.update_many( filter, update, None).await?;

Tempo de execução da sincronização

let filter = doc! { "rated": "PASSED"};let update = doc! { "$set": doc!{ "rated": "Not Rated" }}; let result = collection.update_many( filter, update, None)?;

Tempo de execução assíncrono

let filter = doc! { "title": "è Nous la Libertè" };let replacement = doc! { "title": "À nous la liberté", "type": "movie", "directors": vec! [ "René Clair" ]}; let result = collection.replace_one( filter, replacement, None).await?;

Tempo de execução da sincronização

let filter = doc! { "title": "è Nous la Libertè" };let replacement = doc! { "title": "À nous la liberté", "type": "movie", "directors": vec! [ "René Clair" ]}; let result = collection.replace_one( filter, replacement, None)?;

Tempo de execução assíncrono

let filter = doc! { "title": "Search and Destroy" };let result = collection.delete_one(filter, None).await?;

Tempo de execução da sincronização

let filter = doc! { "title": "Search and Destroy" };let result = collection.delete_one(filter, None)?;

Tempo de execução assíncrono

let filter = doc! { "year": doc! { "$lt": 1920 } }; let result = collection.delete_many(filter, None).await?;

Tempo de execução da sincronização

let filter = doc! { "year": doc! { "$lt": 1920 } }; let result = collection.delete_many(filter, None)?;

Acesse dados de um cursor iterativamente

Documentação da API
Guia de fundamentos

Tempo de execução assíncrono

let mut cursor = collection.find( doc! { "$and": vec! [ doc! { "metacritic": doc! { "$gt": 90 } }, doc! { "directors": vec! [ "Martin Scorsese" ] } ] }, None).await?; while let Some(result) = cursor.try_next().await? { println!("{}", result);};

Tempo de execução da sincronização

let cursor = collection.find( doc! { "$and": vec! [ doc! { "metacritic": doc! { "$gt": 90 } }, doc! { "directors": vec! [ "Martin Scorsese" ] } ] }, None)?; for result in cursor { println!("{}", result?);}

Acessar dados de um cursor como um array

Documentação da API
Guia de fundamentos

Tempo de execução assíncrono

let cursor = collection.find( doc! { "title": "Secrets & Lies" }, None).await?; let results: Vec<Document> = cursor.try_collect().await?;

Tempo de execução da sincronização

let cursor = collection.find( doc! { "title": "Secrets & Lies" }, None)?; let results: Vec<Result<Document>> = cursor.collect();

Tempo de execução assíncrono

let filter = doc! { "languages": vec! [ "Mandarin" ]}; let result = collection.count_documents(filter, None).await?;

Tempo de execução da sincronização

let filter = doc! { "languages": vec! [ "Mandarin" ]}; let result = collection.count_documents(filter, None)?;

Listar valores distintos de um campo

Documentação da API
Exemplo de uso

Tempo de execução assíncrono

let field_name = "title";let filter = doc! { "directors": vec! [ "Sean Baker" ]}; let results = collection.distinct( field_name, filter, None).await?;

Tempo de execução da sincronização

let field_name = "title";let filter = doc! { "directors": vec! [ "Sean Baker" ]}; let results = collection.distinct( field_name, filter, None)?;

Limite o número de documentos retirados

Documentação da API

Tempo de execução assíncrono

let opts: FindOptions = FindOptions::builder() .limit(5) .build(); let filter = doc! { "awards.wins": 25};let mut cursor = collection.find(filter, opts).await?;

Tempo de execução da sincronização

let opts: FindOptions = FindOptions::builder() .limit(5) .build(); let filter = doc! { "awards.wins": 25};let mut cursor = collection.find(filter, opts)?;

Ignorar documentos recuperados

Documentação da API

Tempo de execução assíncrono

let opts: FindOptions = FindOptions::builder() .skip(1) .build(); let filter = doc! { "runtime": 100 };let mut cursor = collection.find(filter, opts).await?;

Tempo de execução da sincronização

let opts: FindOptions = FindOptions::builder() .skip(1) .build(); let filter = doc! { "runtime": 100 };let mut cursor = collection.find(filter, opts)?;

Classificar os documentos ao recuperá-los

Documentação da API

Tempo de execução assíncrono

let opts: FindOptions = FindOptions::builder() .sort(doc! { "imdb.rating": 1 }) .build(); let filter = doc! { "directors": vec! [ "Nicole Holofcener" ]}; let mut cursor = collection.find(filter, opts).await?;

Tempo de execução da sincronização

let opts: FindOptions = FindOptions::builder() .sort(doc! { "imdb.rating": 1 }) .build(); let filter = doc! { "directors": vec! [ "Nicole Holofcener" ]}; let mut cursor = collection.find(filter, opts)?;

Campos de documento do projeto ao recuperá-los

Documentação da API

Tempo de execução assíncrono

let opts: FindOptions = FindOptions::builder() .projection(doc! { "title": 1, "metacritic": 1, "_id": 0 }) .build(); let filter = doc! { "year": 2015 };let mut cursor = collection.find(filter, opts).await?;

Tempo de execução da sincronização

let opts: FindOptions = FindOptions::builder() .projection(doc! { "title": 1, "metacritic": 1, "_id": 0 }) .build(); let filter = doc! { "year": 2015 };let mut cursor = collection.find(filter, opts)?;

Crie um índice

Documentação da API

Tempo de execução assíncrono

let index: IndexModel = IndexModel::builder() .keys(doc! { "title": 1 }) .build(); let result = collection.create_index(index, None).await?;

Tempo de execução da sincronização

let index: IndexModel = IndexModel::builder() .keys(doc! { "title": 1 }) .build(); let result = collection.create_index(index, None)?;
Avalie esta página