Visão geral
Para se conectar a um MongoDB deployment, você precisa de duas coisas:
O URI de conexão, também conhecido como string de conexão, informa ao driver do Rust a qual sistema do MongoDB se conectar.
Instância do cliente, que cria a conexão com a implantação do MongoDB e permite executar operações nele.
Você também pode usar qualquer um desses componentes para personalizar a maneira como o driver do Rust se comporta enquanto está conectado ao MongoDB.
Este guia mostra como criar uma string de conexão e utilizar uma instância do Client para conectar ao MongoDB.
URI de conexão
Um URI de conexão, também conhecido como cadeia de conexão, informa ao driver como se conectar ao MongoDB e como se comportar enquanto estiver conectado.
Uma connection string padrão inclui os seguintes componentes:
Componente | Descrição |
|---|---|
| Obrigatório. Um prefixo que identifica isso como uma string no formato de conexão padrão. |
| Opcional. Credenciais de autenticação. Se você incluir estes, o cliente autenticará o usuário no banco de dados especificado no |
| Obrigatório. O nome do host e o número da porta opcional em que o MongoDB está sendo executado. Se você não incluir o número da porta, o driver utilizará a porta padrão, |
| Opcional. O authentication banco de dados de autenticação a ser usado se a string de conexão incluir credenciais de autenticação, mas não a opção |
| Opcional. Uma string de consulta que especifica opções específicas de conexão como |
Para obter mais informações sobre a criação de uma connection string, consulte connection strings na documentação do MongoDB Server .
Criar um cliente MongoDB
Um cliente gerencia conexões e executa comandos de banco de dados . Para criar uma instância Client, passe sua string de conexão para o método Client::with_uri_str(), conforme mostrado no exemplo a seguir:
let client = Client::with_uri_str(uri)?;
Especificar opções de conexão
Você pode especificar opções de conexão ao criar um cliente passando um objeto ClientOptions para o método with_options() .
Você também pode especificar opções de conexão em sua string de conexão passando sua string de conexão para o método parse() de uma estrutura ClientOptions.
Os exemplos de código a seguir mostram como criar um cliente, especificar uma opção de conexão de API estável, conectar-se ao MongoDB e verificar se a conexão foi bem-sucedida. Selecione a aba API assíncrona ou API síncrona abaixo para o exemplo de código correspondente:
use mongodb::{ bson::doc, options::{ ClientOptions, ServerApi, ServerApiVersion }, Client }; async fn main() -> mongodb::error::Result<()> { // Replace the placeholder with your Atlas connection string let uri = "<connection string>"; let mut client_options = ClientOptions::parse(uri).await?; // Set the server_api field of the client_options object to Stable API version 1 let server_api = ServerApi::builder().version(ServerApiVersion::V1).build(); client_options.server_api = Some(server_api); // Create a new client and connect to the server let client = Client::with_options(client_options)?; // Send a ping to confirm a successful connection client.database("admin").run_command(doc! { "ping": 1 }).await?; println!("Pinged your deployment. You successfully connected to MongoDB!"); Ok(()) }
use mongodb::{ bson::doc, options::{ ClientOptions, ServerApi, ServerApiVersion }, sync::Client }; fn main() -> mongodb::error::Result<()> { // Replace the placeholder with your Atlas connection string let uri = "<connection string>"; let mut client_options = ClientOptions::parse(uri).run()?; // Set the server_api field of the client_options object to Stable API version 1 let server_api = ServerApi::builder().version(ServerApiVersion::V1).build(); client_options.server_api = Some(server_api); // Create a new client and connect to the server let client = Client::with_options(client_options)?; // Send a ping to confirm a successful connection client.database("admin").run_command(doc! { "ping": 1 }).run()?; println!("Pinged your deployment. You successfully connected to MongoDB!"); Ok(()) }
Para obter mais informações sobre as opções de conexão disponíveis, consulte o guia Especificar opções de conexão.
Dica
Reutilize seu cliente
Você pode melhorar o desempenho reutilizando seu cliente entre sessões e operações. Você pode utilizar a mesma instância do Client para executar múltiplas tarefas, em vez de criar outra a cada vez. O tipo de Client é seguro para uso concorrente por vários threads ou tarefas assíncronas.
Documentação da API
Para saber mais sobre como usar o driver Rust para criar uma instância do Client, consulte a seguinte documentação da API: