Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Especificar opciones de URI de conexión

Esta sección describe las opciones de conexión y autenticación de MongoDB que puede pasar como parámetros del URI de conexión en el controlador de Java Reactive Streams.

Si pasas un URI de conexión al constructor MongoClient, puedes incluir opciones de conexión en la string como pares <name>=<value>. En el siguiente ejemplo, el URI de la conexión contiene la opción connectTimeoutMS con un valor de 60000 y la opción tls con un valor de true:

public class MongoConnection {
public static void main(String[] args) {
String uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true";
try (MongoClient client = MongoClients.create(uri)) {
// Use client here
}
}
}

Las siguientes secciones describen las opciones de conexión disponibles en el controlador Java Reactive Streams. Puedes pasar estos parámetros como parámetros del URI de conexión para especificar el comportamiento del cliente.

Opción de conexión
Descripción

mecanismo de autenticación

Establece el mecanismo que el driver de Java Reactive Streams utiliza para autenticar la
aplicación. Las opciones válidas se definen en la documentación de la API de clase ConnectionString.

Tipo de dato: String
Por defecto: "SCRAM-SHA-256" al conectarse a MongoDB v4.0 o posterior.
"SCRAM-SHA-1" al conectarse a MongoDB v3.0 a través de v3.13.
Ejemplo de URI de conexión: authMechanism=MONGODB-X509

authMechanismProperties

Establece opciones específicas del mecanismo de autenticación.

Tipo de dato: String
Por defecto: ""
Ejemplo de URI de conexión: authMechanismProperties=AWS_SESSION_TOKEN:12435

authSource

Establece el origen de las credenciales de autenticación. El origen suele ser una
base de datos. Esta opción solo se respeta cuando authMechanism se establece en
MONGO-CR.

Tipo de dato: String
Por defecto: La base de datos en el URI de conexión, o "admin" si no se proporciona ninguno
Ejemplo de URI de conexión: authSource=admin

Nombre de usuario

Establece el nombre de usuario para la autenticación. Cuando esta opción se incluye en una conexión
URI, debe escaparla con un porcentaje.

Tipo de dato: String
Por defecto: ""
Ejemplo de URI de conexión: username=my+user

Contraseña

Establece la contraseña para la autenticación. Cuando esta opción se incluye en una conexión
URI, debe escaparla con un porcentaje.

Tipo de dato: String
Por defecto: ""
Ejemplo de URI de conexión: password=strong+password

Opción de conexión
Descripción

connectTimeoutMS

Establece el número de milisegundos que la conexión puede tardar antes de que se agote el tiempo de espera. Si una
operación no finaliza en el tiempo especificado, el driver de Java Reactive Streams genera una excepción de tiempo de espera.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: connectTimeoutMS=6000

maxIdleTimeMS

Establece el número máximo de milisegundos que una conexión puede
permanecer inactiva en el pool antes de ser eliminada y cerrada. Configure este valor
más alto que el período de inactividad esperado de su aplicación, pero menor que los tiempos de espera de conexión del firewall
o del proxy para evitar desconexiones inesperadas.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: maxIdleTimeMS=6000

maxLifeTimeMS

Establece la vida útil máxima en milisegundos de una conexión agrupada. Si una
operación no finaliza en el tiempo especificado, el driver de Java Reactive Streams
cierra la conexión.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: maxLifeTimeMS=6000

socketTimeoutMS (deprecated)

Esta opción está obsoleta. Puede configurar este tiempo de espera
estableciendo el tiempo de espera a nivel de cliente en
su lugar.

Milisegundos que puede tardar una recepción en un socket
antes de que se agote el tiempo de espera. Si una operación no finaliza en el
tiempo especificado, el driver de Java Reactive Streams genera una excepción de tiempo de espera.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: socketTimeoutMS=6000

ssl

Establece si se debe conectar mediante TLS/SSL.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: ssl=true

sslInvalidHostNameAllowed

Permite nombres de host no válidos para conexiones TLS/SSL.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: sslInvalidHostNameAllowed=true

tls

Establece si se debe conectar mediante TLS. Sustituye la opción ssl.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: tls=true

tlsAllowInvalidHostnames

Permite nombres de host no válidos para conexiones TLS. Sustituye la opción
sslInvalidHostNameAllowed.

Tipo de datos: boolean
Por defecto: null
Ejemplo de URI de conexión: tlsAllowInvalidHostnames=true

tlsInsecure

Habilita conexiones TLS no seguras al conectarse mediante TLS.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: tlsInsecure=true

Opción de conexión
Descripción

maxConnecting

Establece el número máximo de conexiones que un pool puede establecer de manera concurrente.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: maxConnecting=5

maxPoolSize

Establece el número máximo de conexiones en el pool de conexiones. Si una operación necesita una nueva conexión mientras el pool de conexiones tiene maxPoolSize conexiones abiertas, la nueva operación espera a que se abra una nueva conexión. Para limitar este tiempo de espera, utilice la configuración de tiempo de espera único. Para obtener más información, consulte la guía Limitar el tiempo de ejecución del servidor.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: maxPoolSize=5

minPoolSize

Establece la cantidad mínima de conexiones en el pool de conexiones.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: minPoolSize=3

waitQueueTimeoutMS (deprecated)

Esta opción está obsoleta. Puede configurar este tiempo de espera
estableciendo el tiempo de espera a nivel de cliente
en su lugar.

Cantidad máxima de tiempo de espera en milisegundos antes de que
una conexión en uso esté disponible o se cree una conexión y
comience a establecerse.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: waitQueueTimeoutMS=6000

Opción de conexión
Descripción

compresores

Establece los tipos de compresión preferidos, en orden, para los mensajes del protocolo de conexión enviados a
o recibidos del servidor. Los tipos de compresión deben pasarse como una
lista separada por comas. El driver utiliza el primero de estos tipos de compresión
que admite el servidor.

Tipo de dato: String
Por defecto: null
Ejemplo de URI de conexión: compressors=snappy,zstd,zlib

zlibCompressionLevel

Establece el nivel de compresión que zlib debe usar. Esta opción acepta
un valor entero entre -1 y 9:

- -1: (por defecto). zlib utiliza su nivel de compresión por defecto (generalmente 6).
- 0: Sin compresión.
- 1: La velocidad más rápida pero la menor compresión.
- 9: Mejor compresión pero la velocidad más lenta.

Tipo de dato: Integer
por defecto: -1
Ejemplo de URI de conexión: zLibCompressionLevel=3

Opción de conexión
Descripción

directConnection

Establece si el driver se conecta directamente al host.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: directConnection=true

loadBalanced

Establece si el driver se está conectando o no a MongoDB mediante un
balanceador de carga. trueSi, el driver asume que se está conectando a través de un
balanceador de carga.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: directConnection=true

retryWrites

Establece si el driver reintenta o no las operaciones de guardado admitidas si
fallan debido a un error de red.

Tipo de dato: boolean
Por defecto: True
Ejemplo de URI de conexión: retryWrites=true

retryReads

Establece si el driver reintenta o no las operaciones de lectura compatibles si
fallan debido a un error de red.

Tipo de dato: boolean
Por defecto: True
Ejemplo de URI de conexión: retryReads=true

uuidRepresentation

Establece el mecanismo que utiliza el driver Java Reactive Streams para codificar instancias de
UUID. Consulte la documentación de la API de representación de Uuid para obtener una lista de todas las
opciones válidas.

Tipo de dato: String
Por defecto: unspecified
Ejemplo de URI de conexión: uuidRepresentation=unspecified

Opción de conexión
Descripción

proxyHost

Establece el host proxy SOCKS5 para establecer una conexión a través de.
El valor de proxyHost puede ser una dirección IPv4 válida, una dirección IPv6
o un nombre de dominio.
Obligatorio si se especifica proxyPassword, proxyUsername o proxyPort.

Tipo de dato: String
Por defecto: null
Ejemplo de URI de conexión: proxyHost=example.com

proxyPort

Establece el número de puerto para el servidor proxy SOCKS5. Debe ser un entero no negativo.

Tipo de datos: Integer
Por defecto: null
Ejemplo de URI de conexión: proxyPort=27

proxyUsername

Establece el nombre de usuario para la autenticación con el servidor proxy. Obligatorio si se especifica proxyPassword.

Tipo de dato: String
Por defecto: null
Ejemplo de URI de conexión: proxyUsername=example

proxyPassword

Establece la contraseña para la autenticación con el servidor proxy. Obligatorio si
proxyPassword está especificado.

Tipo de dato: String
Por defecto: null
Ejemplo de URI de conexión: proxyPassword=password

Opción de conexión
Descripción

readPreference

Establece la preferencia de lectura para esta conexión. Los valores enumerados son:
primary, primaryPreferred, secondary, secondaryPreferred y nearest.

Tipo de dato: Enum
Por defecto: primary
Ejemplo de URI de conexión: readPreference.primary

readPreferenceTags

Especifica un conjunto de etiquetas como una lista de pares clave-valor separados por comas y separados por dos puntos,
por ejemplo, dc:ny,rack:1.
Los espacios se eliminan del principio y del final de todas las claves y valores. Para
especificar una lista de conjuntos de etiquetas, utilice varios readPreferenceTags, separados
por punto y coma. Para obtener más información sobre readPreferenceTags, consulte la documentación de la API Clase ConnectionString.

Tipo de dato: String
Por defecto: null
Ejemplo de URI de conexión: readPreferenceTags=dc:ny

maxStalenessSeconds

Establece la antigüedad máxima en segundos. Para obtener más información sobre la antigüedad,
consulta la documentación de la API Clase ConnectionString.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: maxStalenessSeconds=60

Opción de conexión
Descripción

replicaSet

Especifica el nombre del set de réplicas al que conectarse.

Tipo de dato: String
Por defecto: null
Ejemplo de URI de conexión: replicaSet=replicaSet

Opción de conexión
Descripción

appName

Establece el nombre lógico de la aplicación.
El cliente puede utilizar el nombre de la aplicación para identificar la
aplicación en el servidor,
para su uso en registros del servidor, registros de consultas lentas y recopilación de perfiles.

Tipo de dato: String
Por defecto: null
Ejemplo de URI de conexión: appName=name

heartbeatFrequencyMS

La frecuencia en milisegundos con la que el driver determina el estado actual de cada servidor en el clúster.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: heartbeatFrequencyMS=6000

localThresholdMS

Establece un umbral de tiempo de ping para elegir entre varios servidores de MongoDB
para enviar una solicitud. Cuando se establece este valor, el driver solo enviará
esa solicitud a un servidor cuyo
tiempo de ping sea menor o igual al servidor con el tiempo de ping más rápido más el umbral local.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: localThresholdMS=6000

serverMonitoringMode

Establece el modo de supervisión del servidor, que define el protocolo de supervisión que se utilizará. Los valores enumerados son: stream, poll y auto.

Tipo de dato: Enum
Por defecto: auto
Ejemplo de URI de conexión: serverMonitoringMode.auto

serverSelectionTimeoutMS

Establece cuánto tiempo esperará el driver a que la selección del servidor se realice correctamente antes de lanzar una excepción.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: serverSelectionTimeoutMS=6000

Opción de conexión
Descripción

srvServiceName

Establece el nombre del servicio SRV. Consulte
los ClusterSettings.getSrvServiceName()
Documentación de la API para aprender más.

Tipo de dato: String
Por defecto: "mongodb"
Ejemplo de URI de conexión: srvServiceName=mongodb

srvMaxHosts

Establece el número máximo de host del registro SRV al que conectarse.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: srvMaxHosts=5

Opción de conexión
Descripción

seguro

Establece si el driver garantiza que todas las escrituras sean reconocidas por el
servidor de MongoDB o si, de lo contrario, lanza una excepción. falseSi, el driver
no garantiza que todas las escrituras sean reconocidas por el servidor de MongoDB.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: safe=true

journal

Establece si el driver espera a que el servidor agrupe el commit
en el archivo de bitácora en disco.

Tipo de dato: boolean
Por defecto: null
Ejemplo de URI de conexión: journal=true

w

Si se establece, el driver añade { w : wValue } a todos los comandos de escritura. Si se establece,
implica que safe=True.

Tipo de dato: Integer o String
Por defecto: null
Ejemplo de URI de conexión: w=60

wtimeoutMS (deprecated)

Esta opción está obsoleta. Puede configurar este tiempo de espera
estableciendo el tiempo de espera a nivel de cliente en
su lugar.

Si se establece, el driver agrega { wtimeout : ms } a todos los comandos de guardar. Si
se establece,safe=true implica. Esta opción se utiliza en combinación con w.

Tipo de dato: Integer
Por defecto: null
Ejemplo de URI de conexión: wtimeoutMS=6000

Para obtener más información sobre las opciones de conexión en esta sección, consulte la guía Bases de datos y colecciones.