Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Crea un cliente de MongoDB

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.

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 utilizará si la cadena de conexión incluye credenciales de autenticación pero no la opción authSource.

?<options>

Opcional. Una cadena de consulta que especifica opciones específicas de conexión como <name>=<value> pares. Consulte la guía Especificar opciones de conexión para obtener 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 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)?;

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 };
#[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, 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.

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:

Volver

Empezar

En esta página