Overview
Para conectarte a una implementación de MongoDB, necesitas dos cosas:
El URI de conexión, también conocido como cadena de conexión, indica al controlador de Rust a qué implementación de MongoDB debe conectarse.
Instancia de cliente, que crea la conexión con la implementación de MongoDB y permite realizar operaciones sobre ella.
También puedes usar cualquiera de estos componentes para personalizar el comportamiento del controlador Rust mientras está conectado a MongoDB.
Esta guía muestra cómo crear una cadena de conexión y utilizar un Client instancia para conectar con MongoDB.
URI de conexión
Un URI de conexión, también conocido como cadena de conexión, indica al controlador cómo conectarse a MongoDB y cómo comportarse mientras está conectado.
Una cadena de conexión estándar incluye los siguientes componentes:
Componente | Descripción |
|---|---|
| Requerido. Un prefijo que identifica esto como un string en el formato de conexión estándar. |
| opcional. Credenciales de autenticación. Si las incluye, el cliente autentica al usuario contra la base de datos especificada en |
| Requerido. El nombre de host y el número de puerto opcional donde se está ejecutando MongoDB. Si no se incluye el número de puerto, el driver utiliza el puerto por defecto, |
| Opcional. La base de datos de autenticación que se utilizará si la cadena de conexión incluye credenciales de autenticación pero no la opción |
| Opcional. Una cadena de consulta que especifica opciones específicas de conexión como |
Para obtener más información sobre cómo crear una cadena de conexión, consulta Cadenas de conexión en la documentación del servidor MongoDB.
Crea un cliente de MongoDB
Un cliente gestiona tus conexiones y ejecuta comandos de base de datos. Para crear una instancia Client, pasa tu cadena de conexión al método Client::with_uri_str(), como se muestra en el siguiente ejemplo:
let client = Client::with_uri_str(uri)?;
Especifica opciones de conexión
Puede especificar las opciones de conexión al crear un cliente pasando un objeto ClientOptions al método with_options().
También puede especificar opciones de conexión en su cadena de conexión pasando su cadena de conexión al método parse() de una estructura ClientOptions.
Los siguientes ejemplos de código muestran cómo crear un cliente, especificar una opción de conexión API estable, conectarse a MongoDB y verificar que la conexión sea exitosa. Seleccione la pestaña API asíncrona o API síncrona a continuación para ver el ejemplo de código correspondiente:
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 obtener más información sobre las opciones de conexión disponibles, consulte la guía Especificar opciones de conexión.
Tip
Reutilizar el cliente
Puedes mejorar el rendimiento reutilizando tu cliente en varias sesiones y operaciones. Puedes utilizar la misma instancia Client para realizar múltiples tareas, en lugar de crear una nueva cada vez. El tipo Client es seguro para su uso concurrente por múltiples hilos o tareas asíncronas.
Documentación de la API
Para obtener más información sobre cómo usar el controlador de Rust para crear una instancia Client, consulte la siguiente documentación de la API: