➤ 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:
Las aplicaciones cuando se realice la conexión usando drivers.
Herramientas como MongoDB Compass y el MongoDB Shell (mongosh).
Compatibilidad
Puede utilizar cadenas de conexión para conectarse 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.
Encuentre su cadena de conexión de MongoDB Atlas
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 MongoDB Atlas y reemplace <projectId> con el ID del proyecto.
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:
En la interfaz de usuario de MongoDB Atlas, vaya a Clusters Página para su proyecto.
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.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Clusters en la sección Database.
La página de clústeres se muestra.
Abra el cuadro de diálogo Connection Method.
Haz clic en Connect para el clúster al que deseas conectarte.
Haz clic en Choose a Connection Method. MongoDB Atlas selecciona Standard Connection por defecto. Para conectarse con un nodo privado, selecciona Private Endpoint.
Sigue las instrucciones del método de conexión que seleccionaste.
Si se seleccionó Drivers, se debe seleccionar el driver y la versión. Si se seleccionó una herramienta, se debe descargar.
Seleccione Connect To Cluster.
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
Encuentre la cadena de conexión de su implementación autohospedada
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
replicaSetLos nombres de host de las instancias
mongodtal como figuran en la configuración del set de réplicasSe autentica como usuario
myDatabaseUsercon la contraseñaD1fficultP%40ssw0rdpara 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:
Los hosts de
mongosen la cadena de conexiónSe autentica como usuario
myDatabaseUsercon la contraseñaD1fficultP%40ssw0rdpara aplicar el control de acceso
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:
La opción de
replicaSetLos nombres de host de las instancias
mongodtal como figuran en la configuración del set de réplicasUn nombre de usuario y contraseña para aplicar el control de acceso:
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:
Los hosts de
mongosen la cadena de conexiónUn nombre de usuario y contraseña para aplicar el control de acceso
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.
Formatos de cadena 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 SRV de DNS. El controlador o consulta el registro para
mongoshmongodmongosdeterminar qué hosts ejecutan las instancias o.Formato de cadena de conexión estándar: una cadena de conexión que especifica todos los hosts que ejecutan las instancias
mongodmongoso.
Los clústeres MongoDB Atlas utilizan el formato de conexión SRV a menos que se conecte a un archivo en línea.
Para conectarse directamente a un host y puerto especificados en una cadena de conexión, configure la directConnection opción true como. Para obtener más información sobre directConnection y las demás opciones de la cadena de conexión, consulte Opciones de la cadena de conexión.
Formato de conexión SRV
MongoDB admite una Lista de semillas generada por DNS. Usar DNS para generar la lista de servidores disponibles permite mayor flexibilidad de implementación y la posibilidad de cambiar los servidores en rotación sin reconfigurar los clientes.
El esquema de conexión URI SRV tiene el siguiente formato:
mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]
Para obtener más ejemplos, consulte Ejemplos de cadenas de conexión.
Componentes de la cadena de conexión
Una cadena de conexión incluye los siguientes componentes:
Componente | Descripción | |
|---|---|---|
| Prefijo obligatorio para identificar una cadena en formato de conexión estándar | |
| Opcional. Credenciales de autenticación. Si se especifica, el cliente intentará autenticar al usuario en la base de Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual: Consulte también | |
| El host (y el número de puerto opcional) donde se
Si no se especifica el número de puerto, se utiliza el puerto predeterminado Si utiliza el formato de conexión URI SRV, solo puede especificar un host y ningún puerto. De lo contrario, el controlador o | |
| Opcional. La base de datos de autenticación que se utilizará si la cadena de conexión incluye las Si IMPORTANTE: Para las implementaciones de Atlas que utilizan el formato de conexión SRV, | |
| Opcional. Una cadena de consulta que especifica las opciones específicas de la conexión como Si la cadena de conexión no especifica una base de datos, debes especificar una barra diagonal ( |
Para aprovechar la lista de semillas DNS, utilice la misma sintaxis que una cadena de conexión estándar, con el prefijo en mongodb+srv lugar del mongodb estándar. El +srv indica al cliente que el nombre de host que sigue corresponde a un registro SRV DNS. El controlador o consultará el registro DNS para mongosh mongod mongos determinar qué hosts ejecutan las instancias o.
Nota
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 |
|---|---|
|
|
|
|
|
|
|
|
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 miembro de la lista de semillas, recupera una lista de miembros del conjunto de réplicas a los que puede conectarse. Los clientes suelen usar alias DNS en sus listas de semillas, lo que significa que el host puede devolver una lista de servidores diferente a la original. En este caso, los clientes usarán los nombres de host proporcionados por el conjunto de réplicas en lugar de los que aparecen en la lista de semillas para garantizar que se pueda acceder a los miembros del conjunto de réplicas mediante los nombres de host de la configuración resultante.
Importante
Los nombres de host devueltos en los registros SRV deben compartir el mismo dominio principal (en este ejemplo, example.com) que el nombre de host especificado. Si los dominios principales y el nombre de host no coinciden, no podrá conectarse.
Este ejemplo muestra una cadena de conexión de lista de semillas DNS a la que le falta el <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:
replicaSetauthSource
Solo se puede especificar un registro TXT por mongod instancia. Si aparecen varios registros TXT en el DNS o si el registro TXT contiene una opción distinta replicaSet de authSource o, el cliente devolverá un error.
El registro TXT para la entrada 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
Puede anular las opciones especificadas en un registro TXT pasándolas en la cadena de consulta. En el siguiente ejemplo, la cadena de consulta ha anulado 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 de 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 mongodb+srv opción falla si no hay ningún DNS disponible con registros que correspondan al nombre de host identificado en la cadena de conexión. Si utiliza el +srv modificador de cadena de conexión, la tls opción (o su ssl equivalente) se establece 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.
Para ver un ejemplo que conecta mongosh a un conjunto de réplicas utilizando el formato de conexión de lista de semillas DNS, consulte Opciones de conexión de mongosh.
Formato de cadena de conexión estándar
Esta sección describe el formato estándar de la URI de conexión de MongoDB que se utiliza para conectarse a una implementación independiente, un conjunto de réplicas o un clúster fragmentado de MongoDB autohospedado.
El esquema estándar de conexión URI tiene la forma:
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
Para obtener más ejemplos, consulte Ejemplos de cadenas de conexión.
Opciones de la base de datos de la cadena de conexión
Puede especificar una base de datos predeterminada en el campo [/defaultauthdb] de la cadena de conexión. El cliente utiliza la base de datos [/defaultauthdb] especificada como predeterminada. Si la cadena de conexión no la especifica, la base de datos predeterminada es test.
Puede especificar la base de datos de autenticación en su cadena de conexión mediante la authSource opción de conexión. Si se especifica, el cliente utiliza esta base de datos para verificar su identidad y credenciales de authSource [/defaultauthdb] usuario. Si no authSource [/defaultauthdb] se especifica, se usaauthSource la admin base de datos de forma predeterminada. Si no se especifican ni, se usa la base de datos de forma predeterminada.
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
Componentes de la cadena de conexión
Una cadena de conexión incluye los siguientes componentes:
Componente | Descripción | |
|---|---|---|
| Prefijo obligatorio para identificar una cadena en formato de conexión estándar | |
| Opcional. Credenciales de autenticación. Si se especifica, el cliente intentará autenticar al usuario en la base de Si el nombre de usuario o la contraseña incluye los siguientes caracteres, deben convertirse mediante la codificación porcentual: Consulte también | |
| El host (y el número de puerto opcional) donde se
Si no se especifica el número de puerto, se utiliza el puerto predeterminado Si utiliza el formato de conexión URI SRV, solo puede especificar un host y ningún puerto. De lo contrario, el controlador o | |
| Opcional. La base de datos de autenticación que se utilizará si la cadena de conexión incluye las Si IMPORTANTE: Para las implementaciones de Atlas que utilizan el formato de conexión SRV, | |
| Opcional. Una cadena de consulta que especifica las opciones específicas de la conexión como Si la cadena de conexión no especifica una base de datos, debes especificar una barra diagonal ( |