Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Crea un cliente de MongoDB

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.

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

mongodb://

Requerido. Un prefijo que identifica esto como un string en el formato de conexión estándar.

<db_username>:<db_password>

opcional. Credenciales de autenticación. Si las incluye, el cliente autentica al usuario contra la base de datos especificada en authSource. Para obtener más información sobre la opción de conexión authSource, consulte la mecanismo de autenticación guide.

hostname[:port]

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, 27017.

/defaultauthdb

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 authSource.

?<options>

opcional. Una string del query que especifica las opciones específicas de la conexión como pares <name>=<value>. Consulta la guía Especificar Opciones de Conexión para una descripción completa de estas opciones.

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.

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)?;

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 };
#[tokio::main]
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.

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:

Volver

Empezar

En esta página