Overview
Para conectarte a una implementación de MongoDB, necesitas dos cosas:
URI de conexión, también conocido como cadena de conexión, que indica al controlador de Rust a qué implementación de MongoDB 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 driver de 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 debe utilizar si la cadena de conexión incluye credenciales de autenticación pero no la opción |
| opcional. Una string del query que especifica las opciones específicas de la conexión como pares |
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 sus conexiones y ejecuta comandos de base de datos. Para crear una instancia de 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 puedes especificar opciones de conexión en tu cadena de conexión pasando tu cadena de conexión al método parse() de una estructura ClientOptions.
Los siguientes ejemplos de código muestran cómo puedes crear un cliente, especificar una opción de conexión Stable API, conectarte a MongoDB y verificar que la conexión sea exitosa. Selecciona la pestaña API asincrónica o API sincrónica a continuación para 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, consulta 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 el uso del controlador Rust para crear una instancia de Client, consulte la siguiente documentación de la API: