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
/
Manual de base de datos
/

Cadenas de conexión


➤ Use el menú desplegable Seleccione su lenguaje en la parte superior derecha para establecer el lenguaje de los siguientes ejemplos.


Puede utilizar cadenas de conexión para definir conexiones entre instancias de MongoDB y los siguientes destinos:

Puedes usar cadenas de conexión para conectarte a implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Complete estos pasos para encontrar su cadena de conexión.

Para encontrar la cadena de conexión de MongoDB Atlas usando el Atlas CLI, se debe instalar y realizar la conexión desde el Atlas CLI, luego se debe ejecutar el siguiente comando. Reemplaza <clusterName> con el nombre del clúster de MongoDB Atlas y reemplace <projectId> con el ID del grupo.

atlas clusters connectionStrings describe <clusterName> --projectId <projectId>

Para aprender más, consulta Descripción de connectionStrings de los clústeres de Atlas.

Para encontrar su cadena de conexión de MongoDB Atlas en la Interfaz de Usuario de Atlas, siga estos pasos:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

    La página de clústeres se muestra.

2
  1. Haz clic en Connect para el clúster al que deseas conectarte.

  2. Haz clic en Choose a Connection Method. MongoDB Atlas selecciona Standard Connection por defecto. Para conectarse con un nodo privado, selecciona Private Endpoint.

3

Para realizar la conexión a la aplicación, se debe hacer clic en Drivers. Para realizar la conexión usando herramientas, se debe hacer clic en la herramienta que se desea usar para acceder a los datos.

4
  1. Si se seleccionó Drivers, se debe seleccionar el driver y la versión. Si se seleccionó una herramienta, se debe descargar.

  2. Seleccione Connect To Cluster.

  3. Copie la cadena de conexión. Reemplaza <password> y <username> en la cadena de conexión con las credenciales de usuario de la base de datos.

Su cadena de conexión de MongoDB Atlas se asemeja al siguiente ejemplo:

mongosh "mongodb+srv://cluster0.example.mongodb.net myFirstDatabase" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority

Si se está realizando la conexión a la implementación autoalojada de MongoDB Enterprise o MongoDB Community, se debe ejecutar el método db.getMongo() para obtener la cadena de conexión.

Si no está conectado a su implementación, puede determinar su cadena de conexión según el tipo de conexión que desee usar. Consulte Formato de conexión SRV para conocer la sintaxis de la cadena de conexión SRV o Formato de cadena de conexión estándar para conocer la sintaxis estándar de la cadena de conexión.

Su cadena de conexión autohospedada se asemeja a los siguientes ejemplos:

La siguiente cadena de conexión del set de réplicas incluye estos elementos:

  • La opción de replicaSet

  • Los nombres de host de las instancias mongod tal como figuran en la configuración del set de réplicas

  • Se autentica como usuario myDatabaseUser con la contraseña D1fficultP%40ssw0rd para aplicar el control de acceso

mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl

Si el nombre de usuario o la contraseña incluyen los siguientes caracteres, dichos caracteres deben convertirse utilizando codificación de porcentaje:

$ : / ? # [ ] @

La siguiente cadena de conexión para un clúster particionado incluye estos elementos:

mongosh "mongodb+srv://mongos0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin

Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

$ : / ? # [ ] @

La siguiente cadena de conexión autónoma se autentica como usuario myDatabaseUser con la contraseña D1fficultP%40ssw0rd para aplicar el control de acceso:

mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin

Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

$ : / ? # [ ] @

La siguiente cadena de conexión del set de réplicas incluye estos elementos:

mongosh "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl

Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

$ : / ? # [ ] @

La siguiente cadena de conexión para un clúster particionado incluye estos elementos:

mongosh "mongodb://mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin

Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

$ : / ? # [ ] @

La siguiente cadena de conexión autónoma aplica el control de acceso:

mongosh "mongodb://@mongodb0.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin

Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

$ : / ? # [ ] @

Para obtener una lista completa de las opciones de cadena de conexión, consulte Formato de conexión SRV o Formato de cadena de conexión estándar. Para más ejemplos, consulte Ejemplos de cadenas de conexión.

Puede especificar la cadena de conexión de MongoDB utilizando uno de los siguientes formatos:

  • Formato de conexión SRV: Una cadena de conexión con un nombre de host que corresponde a un registro DNS SRV. Su driver o mongosh query el registro para determinar qué hosts están ejecutando las instancias mongod o mongos.

  • Formato de cadena de conexión estándar: una cadena de conexión que especifica todos los hosts que ejecutan las instancias mongod mongos o.

Los clústeres de MongoDB Atlas usan el formato de conexión SRV a menos que te conectes a un fichero en línea.

Para conectar directamente a un host y puerto especificados en una cadena de conexión, ajusta la opción directConnection a true. Para obtener información completa sobre directConnection y otras opciones de la cadena de conexión, consulte Opciones de cadena de conexión.

MongoDB soporta una DNSconstruido lista de nodos iniciales. Usar DNS para construir la lista de servidores disponibles permite más flexibilidad en la implementación y la capacidad de cambiar los servidores en rotación sin reconfigurar los clientes.

El esquema de conexión SRV URI tiene la siguiente forma:

mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]

Para más ejemplos, consulte Ejemplos de cadenas de conexión.

Una cadena de conexión incluye los siguientes componentes:

Componente
Descripción

mongodb:// or mongodb+srv://

Un prefijo requerido para identificar que esto es una string en el formato de conexión estándar (mongodb://) o en el formato de conexión SRV (mongodb+srv://). Para aprender más sobre cada formato, vea Formato estándar de cadena de conexión y Formato de conexión SRV.

username:password@

Opcional. Credenciales de autenticación.

Si se especifica, el cliente intentará autenticar al usuario en el authSource. Si authSource no está especificado, el cliente intentará autenticar al usuario en el defaultauthdb. Y si defaultauthdb no está especificado, a la base de datos admin.

Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

$ : / ? # [ ] @

Consulte también authSource.

host[:port]

El host (y el número de puerto opcional) donde se está ejecutando la instancia mongod (o la instancia mongos para un clúster fragmentado). Puede especificar un nombre de host, una dirección IP o un socket de dominio UNIX. Especifique tantos hosts como sea apropiado para su topología de implementación:

  • Para un autónomo, especifique el nombre de host de la instancia autónoma mongod.

  • Para un set de réplicas, especifica el/los nombre(s) de host de la(s) instancia(s) de mongod tal como se indica en la configuración del set de réplicas.

  • Para un clúster fragmentado, especifique los nombres de host de las mongos instancias.

Si no se especifica el número de puerto, se utiliza el puerto por defecto 27017.

Si utilizas el formato de conexión URI SRV, sólo puedes especificar un host y ningún puerto. De lo contrario, el controlador o mongosh genera un error de análisis y no realiza la resolución de DNS.

/defaultauthdb

opcional. La base de datos de autenticación que se utilizará si la cadena de conexión incluye username:password@ credenciales de autenticación, pero la opción authSource no está especificada.

Si authSource defaultauthdb no se especifican ni, el cliente intentará autenticar al usuario especificado en la admin base de datos. Para más información,authSource consulte.

IMPORTANTE: Para las implementaciones de Atlas que utilizan el formato de conexión SRV, authSource se configura automáticamente en admin en el registro DNS de TXT. Para obtener más información sobre cómo conectarse a las implementaciones de Atlas, consulta Conéctate a un clúster de Atlas.

?<options>

Opcional. Una cadena de consulta que especifica las opciones específicas de la conexión como <name>=<value> pares. Consulte "Opciones de la cadena de conexión" para obtener una descripción completa de estas opciones.

Si la cadena de conexión no especifica una base de datos, debes especificar una barra diagonal (/) entre el último host y el signo de interrogación (?) que inicia la cadena de opciones.

Para aprovechar la lista de nodos iniciales DNS, utiliza la misma sintaxis que una cadena de conexión estándar con un prefijo de mongodb+srv en lugar del estándar mongodb. El +srv indica al cliente que el nombre de host que sigue corresponde a un registro DNS SRV. El driver o mongosh luego hará una query a el DNS por el registro para determinar qué hosts están ejecutando las instancias de mongod o mongos.

Nota

El uso del +srv modificador de cadena de conexión establece automáticamente la tls opción (o su ssl equivalente) en true para la conexión. Puede anular este comportamiento estableciendo explícitamente la tls opción (o su ssl equivalente) en false con tls=false ssl=false(o) en la cadena de consulta.

Al utilizar el formato +srv, debe especificar hostname, domain y top-level domain (TLD) en el siguiente formato: <hostname>.<domain>.<TLD>. Esta tabla muestra cómo los marcadores de posición corresponden a valores de ejemplo:

Marcador de posición
Ejemplo

<hostname>

server

<domain>

example

<TLD>

com

<hostname>.<domain>.<TLD>

server.example.com

Este ejemplo muestra una cadena de conexión de lista de semillas DNS que utiliza correctamente el <hostname>.<domain>.<TLD> formato. Se autentica como myDatabaseUser el usuario con la D1fficultP%40ssw0rd contraseña:

mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/

La configuración DNS correspondiente es similar a:

Record TTL Class Priority Weight Port Target
_mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27317 mongodb1.example.com.
_mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27017 mongodb2.example.com.

Los registros SRV individuales deben estar en formato _mongodb._tcp.<hostname>.<domain>.<TLD>.

Cuando un cliente se conecta a un nodo de la lista de nodos iniciales, el cliente recupera una lista de los nodos del set de réplicas a los que puede conectarse. Los clientes suelen utilizar alias DNS en sus listas de nodos iniciales, lo que significa que el host puede devolver una lista de servidores que difiere de la lista de nodos iniciales original. Si esto sucede, los clientes usarán los nombres de host proporcionados por el conjunto de réplicas en lugar de los nombres de host enumerados en la lista de nodos iniciales para garantizar que se pueda acceder a los miembros del conjunto de réplicas a través de los nombres de host en la configuración resultante del conjunto de réplicas.

Importante

Los nombres de host devueltos en los registros SRV deben compartir el mismo dominio superior (en este ejemplo, example.com) que el nombre de host dado. Si los dominios padre y el nombre del host no coinciden, no podrás conectarte.

Este ejemplo muestra una cadena de conexión de lista de nodos iniciales DNS que carece de <hostname>. Esto es incorrecto y genera un error.

# This connection string is missing the <hostname> and raises a connection error
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@example.com/

Al igual que la cadena de conexión estándar, la cadena de conexión de la lista de semillas DNS permite especificar opciones como cadena de consulta. Con una cadena de conexión de la lista de semillas DNS,también se pueden especificar las siguientes opciones mediante un registro TXT:

  • replicaSet

  • authSource

Solo puedes especificar un registro TXT por instancia de mongod. Si aparecen múltiples registros TXT en el DNS y/o si el registro TXT contiene una opción distinta a replicaSet o authSource, el cliente devolverá un error.

El registro TXT para la entrada de DNS server.example.com se parecería a:

Record TTL Class Text
server.example.com. 86400 IN TXT "replicaSet=mySet&authSource=authDB"

En conjunto, los registros SRV de DNS y las opciones especificadas en el registro TXT se resuelven en la siguiente cadena de conexión de formato estándar:

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?replicaSet=mySet&authSource=authDB

Se pueden invalidar las opciones especificadas en un registro TXT pasando la opción en la string del query. En el siguiente ejemplo, el string del query ha proporcionado una anulación para la opción authSource configurada en el registro TXT de la entrada DNS anterior.

mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/?connectTimeoutMS=300000&authSource=aDifferentAuthDB

Dada la anulación del authSource, la cadena de conexión equivalente en el formato estándar sería:

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?connectTimeoutMS=300000&replicaSet=mySet&authSource=aDifferentAuthDB

Nota

La opción mongodb+srv falla si no hay un DNS disponible con registros que correspondan al nombre de host identificado en la cadena de conexión. Si se utiliza el modificador de cadena de conexión +srv, la opción tls (o la opción equivalente ssl) se establece en true para la conexión. Puedes anular este comportamiento estableciendo explícitamente la opción tls (o la opción equivalente ssl) en false con tls=false (o ssl=false) en la string del query.

Para un ejemplo que conecta mongosh a un set de réplicas utilizando el formato de conexión de lista de nodos iniciales DNS, consulta Opciones de Conexión mongosh.

Esta sección describe el formato estándar del URI de conexión de MongoDB usado para conectarse a una implementación autónomo, set de réplicas o clúster fragmentado de MongoDB autoalojado.

El esquema estándar de conexión URI tiene la forma:

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

Para más ejemplos, consulte Ejemplos de cadenas de conexión.

Puede especificar una base de datos por defecto en el campo [/defaultauthdb] de la cadena de conexión. El cliente utiliza la base de datos [/defaultauthdb] especificada como la base de datos por defecto. Si no se especifica en la cadena de conexión, la base de datos por defecto es la base de datos test.

Se puede especificar la base de datos de autenticación en la cadena de conexión utilizando la opción de conexión authSource. Si se especifica, el cliente utiliza esta base de datos para verificar su identidad de usuario y credenciales. Si authSource no está especificado, por defecto se usará la base de datos [/defaultauthdb]. Si tanto authSource como [/defaultauthdb] no están especificados, authSource estará configurado por defecto a la base de datos admin.

La siguiente cadena de conexión establece la base de datos por defecto en myDefaultDB y la base de datos de autenticación en admin:

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/myDefaultDB?authSource=admin

Una cadena de conexión incluye los siguientes componentes:

Componente
Descripción

mongodb:// or mongodb+srv://

Un prefijo requerido para identificar que esto es una string en el formato de conexión estándar (mongodb://) o en el formato de conexión SRV (mongodb+srv://). Para aprender más sobre cada formato, vea Formato estándar de cadena de conexión y Formato de conexión SRV.

username:password@

Opcional. Credenciales de autenticación.

Si se especifica, el cliente intentará autenticar al usuario en el authSource. Si authSource no está especificado, el cliente intentará autenticar al usuario en el defaultauthdb. Y si defaultauthdb no está especificado, a la base de datos admin.

Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual:

$ : / ? # [ ] @

Consulte también authSource.

host[:port]

El host (y el número de puerto opcional) donde se está ejecutando la instancia mongod (o la instancia mongos para un clúster fragmentado). Puede especificar un nombre de host, una dirección IP o un socket de dominio UNIX. Especifique tantos hosts como sea apropiado para su topología de implementación:

  • Para un autónomo, especifique el nombre de host de la instancia autónoma mongod.

  • Para un set de réplicas, especifica el/los nombre(s) de host de la(s) instancia(s) de mongod tal como se indica en la configuración del set de réplicas.

  • Para un clúster fragmentado, especifique los nombres de host de las mongos instancias.

Si no se especifica el número de puerto, se utiliza el puerto por defecto 27017.

Si utilizas el formato de conexión URI SRV, sólo puedes especificar un host y ningún puerto. De lo contrario, el controlador o mongosh genera un error de análisis y no realiza la resolución de DNS.

/defaultauthdb

opcional. La base de datos de autenticación que se utilizará si la cadena de conexión incluye username:password@ credenciales de autenticación, pero la opción authSource no está especificada.

Si authSource defaultauthdb no se especifican ni, el cliente intentará autenticar al usuario especificado en la admin base de datos. Para más información,authSource consulte.

IMPORTANTE: Para las implementaciones de Atlas que utilizan el formato de conexión SRV, authSource se configura automáticamente en admin en el registro DNS de TXT. Para obtener más información sobre cómo conectarse a las implementaciones de Atlas, consulta Conéctate a un clúster de Atlas.

?<options>

Opcional. Una cadena de consulta que especifica las opciones específicas de la conexión como <name>=<value> pares. Consulte "Opciones de la cadena de conexión" para obtener una descripción completa de estas opciones.

Si la cadena de conexión no especifica una base de datos, debes especificar una barra diagonal (/) entre el último host y el signo de interrogación (?) que inicia la cadena de opciones.

Volver

Parámetros por defecto y de localización

En esta página