Docs Menu
Docs Home
/ /

Elija un destino de conexión

En esta guía, puede aprender a utilizar una cadena de conexión y una MongoClient objeto para conectarse a diferentes tipos de implementaciones de MongoDB.

Tip

Para obtener más información sobre cómo recuperar su cadena de conexión, consulte la Conectarse a través de la guía de controladores en la documentación de Atlas.

Para conectarse a una implementación de MongoDB en Atlas, incluya los siguientes elementos en su cadena de conexión:

  • URL de su clúster Atlas

  • Nombre de usuario de MongoDB

  • Contraseña de MongoDB

Luego, pase la cadena de conexión al constructor MongoClient.

Al conectarse a Atlas, recomendamos usar la opción de cliente API estable para evitar cambios importantes cuando Atlas se actualice a una nueva versión de MongoDB Server. Para obtener más información sobre la función API estable, consulte Guíade API estable.

El siguiente código muestra cómo usar el controlador Node.js para conectarse a un clúster Atlas. El código también usa el campo server_api para especificar una versión estable de la API.

const { MongoClient, ServerApiVersion } = require("mongodb");
// Replace the placeholder with your Atlas connection string
const uri = "<connection string>";
// Creates a MongoClient with a MongoClientOptions object to set the Stable API version
const client = new MongoClient(uri, {
serverApi: {
version: ServerApiVersion.v1,
strict: true,
deprecationErrors: true,
}
}
);
async function run() {
try {
// Connects the client to the server (optional starting in v4.7)
await client.connect();
// Sends a ping to confirm a successful connection
await client.db("admin").command({ ping: 1 });
console.log("Pinged your deployment. You successfully connected to MongoDB!");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

Para conectarse a una implementación local independiente de MongoDB, especifique el host del servidor. Opcionalmente, especifique el puerto del servidor. Si no se especifica ningún puerto, el puerto predeterminado es 27017.

Puede especificar el host y el puerto al que conectarse mediante una cadena de conexión, como se muestra en el siguiente código:

const client = new MongoClient("mongodb://host1:27017");

También puede especificar su host como localhost. El siguiente ejemplo de código se conecta a localhost en el puerto especificado:

const client = new MongoClient("mongodb://localhost:27017");

Para conectarse a un conjunto de réplicas, se recomienda especificar todos los nodos que lo componen. Si uno o más nodos dejan de estar disponibles, especificar todos los nodos permite que el controlador se conecte al conjunto de réplicas si un nodo está disponible.

Sin embargo, basta con pasar la dirección de cualquier nodo del conjunto de réplicas al controlador. No es necesario que el nodo sea el principal, y puede ser un nodo oculto. El controlador detectará automáticamente los nodos restantes.

El siguiente ejemplo muestra cómo conectarse al set de réplicas utilizando una cadena de conexión y cómo verificar el nombre del set de réplicas en la conexión usando la opción de cadena de conexión replicaSet:

const client = new MongoClient("mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRs");

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 la detección de servicios DNS y buscar el registro SRV DNS del servicio al que se conecta, especifique el formato de conexión SRV en la cadena de conexión. Si especifica este formato, el controlador de Node.js volverá a escanear automáticamente en busca de nuevos hosts. Su 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:

const 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 un MongoClient objeto con el controlador Node.js, consulte la documentación de API para MongoClient.

Volver

Pools de conexiones

En esta página