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
/ /

Elija un destino de conexión

En esta guía, puedes aprender cómo utilizar una cadena de conexión y un Client instancia para conectarse a diferentes tipos de implementaciones de MongoDB.

Para conectarte a una implementación de MongoDB en Atlas, incluye los siguientes elementos en tu cadena de conexión:

  • URL de tu clúster de Atlas

  • Nombre de usuario de MongoDB

  • Contraseña de MongoDB

Luego, crea una instancia Client con tu cadena de conexión.

Tip

Sigue el Guía de conexión del controlador Atlas para recuperar tu cadena de conexión.

Cuando se conecta a Atlas, le recomendamos usar la opción de cliente API estable para evitar cambios incompatibles cuando Atlas se actualice a una nueva versión del servidor MongoDB. Para obtener más información sobre la función API estable, consulte la Stable API guide.

El siguiente código muestra cómo crear un cliente que utilice una cadena de conexión de Atlas y la versión de la API Stable, conectarse a MongoDB y verificar que la conexión haya sido exitosa. Selecciona desde el Asynchronous API o Synchronous API pestañas a continuación para ver ejemplos de código de conexión correspondientes.

Tip

Para aprender más sobre runtimes asíncronos y síncronos, consulta la guía API asíncronas y síncronas.

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(())
}

Si debes conectarte a una única instancia de servidor de MongoDB o a un set de réplicas que no esté alojado en Atlas, consulta las siguientes secciones para saber cómo conectarte.

Si necesitas ejecutar el MongoDB Server en tu máquina local con fines de desarrollo, debes completar lo siguiente:

  1. Siga el tutorial Instalar MongoDB para instalar el MongoDB Server en su máquina. Selecciona el tutorial de instalación adecuado para tu máquina y sistema operativo.

  2. Después de completar la instalación, inicia el servidor.

Importante

Asegure siempre su servidor contra ataques maliciosos. Consulta la lista de verificación de Seguridad para consultar una lista de recomendaciones de seguridad.

Después de iniciar correctamente el servidor de MongoDB, conéctese a la instancia local siguiendo los siguientes pasos:

  1. Sustituye la cadena de conexión almacenada en la variable uri en el ejemplo anterior con la cadena de conexión de tu instancia local de MongoDB.

    Si su MongoDB Server se está ejecutando localmente, puede utilizar la siguiente cadena de conexión para conectarse a MongoDB:

    mongodb://localhost:<port>

    En esta cadena de conexión, <port> es el número de puerto que configuraste para que tu servidor escuche las conexiones entrantes.

  2. Ejecuta el código de conexión. Si el código se ejecuta con éxito, deberías ver la siguiente salida en tu consola:

    Pinged your deployment. You successfully connected to MongoDB!

Tip

Para obtener más información sobre las cadenas de conexión y los formatos personalizados, consulte Cadenas de conexión en el manual del servidor.

Una implementación de set de réplicas de MongoDB es un grupo de instancias conectadas o nodos, donde los nodos almacenan el mismo conjunto de datos. Esta configuración de instancias proporciona redundancia de datos y alta disponibilidad de datos.

Para conectarte a una implementación de set de réplicas, especifica el nombre de host y los números de puerto de cada instancia, separados por comas, y el nombre del set de réplicas como valor del parámetro replicaSet en la cadena de conexión.

En el siguiente ejemplo, los nombres de host son host1, host2, y host3, y los números de puerto son todos 27017. El nombre del set de réplicas es myRS. El siguiente código muestra el URI de conexión para el set de réplicas con estas especificaciones:

mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRS

Cuando se conecta a un set de réplicas, el driver realiza las siguientes acciones por defecto:

  • Descubre todos los miembros del conjunto de réplicas cuando se le proporciona la dirección de cualquiera de los miembros.

  • Envía operaciones al nodo apropiado, como instrucciones para realizar escrituras sobre el nodo primario. Para aprender más sobre el primario del set de réplicas, consulta Primario del set de réplicas en el manual del servidor.

Tip

Solo se requiere especificar un host para conectarse a un conjunto de réplicas. Sin embargo, para garantizar la conectividad cuando el host especificado no esté disponible, proporcione la lista completa de hosts.

Para forzar operaciones en el host designado en el URI de conexión, especifique la opción directConnection. Las conexiones directas muestran el siguiente comportamiento:

Nota

Set de réplicas en Docker

Cuando un set de réplicas se ejecuta en Docker, se podría exponer solo un punto final de MongoDB. En este caso, el set de réplicas no se puede detectar. Si se especifica directConnection=false en la URI de conexión, o se deja esta opción sin configurar, puedes evitar que tu aplicación se conecte a ella.

En un entorno de prueba o desarrollo, se puede conectar al set de réplicas especificando directConnection=true. En un entorno de producción, se recomienda configurar el clúster para que cada instancia de MongoDB sea accesible fuera de la red virtual de Docker.

Para usar el descubrimiento de servicios DNS y consultar el registro DNS SRV del servicio al que te conectas, especifica el formato de conexión SRV en tu cadena de conexión. Si especificas este formato, el controlador de Rust vuelve a escanear automáticamente en busca de nuevos hosts. Tu implementación puede agregar hosts a su topología sin necesidad de modificar la configuración del cliente.

El siguiente código muestra una cadena de conexión que utiliza el formato de conexión SRV:

let uri = "mongodb+srv://<hostname>/";

Para aprender más sobre el formato de conexión SRV, consulta la entrada Formato de conexión SRV en el manual de MongoDB Server.

Para obtener más información sobre cómo crear una Client instancia con el controlador Rust, consulte la documentación de la API para Client.

Volver

Crea un cliente de MongoDB

En esta página