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

Especifica opciones de conexión

Esta página describe las opciones de conexión y autenticación de MongoDB disponibles en el controlador de Scala y explica cómo especificarlas para su conexión a MongoDB.

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:

val uri = "mongodb://localhost:27017/?connectTimeoutMS=60000&tls=true"
val mongoClient = MongoClient(uri)

Puedes configurar las opciones de conexión en una instancia MongoClientSettings utilizando métodos de la clase MongoClientSettings.Builder y luego pasando el objeto de configuración al constructor MongoClient().

Configurar la conexión de esta manera facilita el cambio de configuraciones en tiempo de ejecución y puede ayudar a detectar errores en tiempo de compilación.

El siguiente ejemplo muestra cómo especificar el destino de conexión y ajustar otras opciones al crear una instancia de MongoClientSettings:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.hosts(List(new ServerAddress("localhost", 27017)).asJava))
.applyToSocketSettings(builder =>
builder.connectTimeout(60000, TimeUnit.MILLISECONDS))
.applyToSslSettings(builder => builder.enabled(true))
.build()
val mongoClient = MongoClient(settings)

Si prefieres proporcionar una cadena de conexión en lugar de especificar el hostname y el puerto, puedes usar el método applyConnectionString(), y luego establecer otras opciones usando métodos del builder, como se muestra en el siguiente código:

val uri = "mongodb://localhost:27017/"
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString(uri))
.applyToSocketSettings(builder =>
builder.connectTimeout(60000, TimeUnit.MILLISECONDS))
.applyToSslSettings(builder => builder.enabled(true))
.build()
val mongoClient = MongoClient(settings)

Los tipos de compresión preferidos, en orden, para los mensajes del protocolo de conexión enviados al servidor o recibidos de este. Puede habilitar "snappy", "zlib" y "zstd" como dependencias opcionales en tiempo de compilación. El driver utiliza el primero de estos tipos de compresión que admite el servidor.

Tipo de datos: delimitado por comas string

Valor por defecto: null

Ejemplo:

val uri = "mongodb://localhost:27017/?compressors=snappy,zstd,zlib"
val mongoClient = MongoClient(uri)

El nivel de compresión que utilizará zlib. Esta opción acepta un valor entero entre -1 y 9:

  • -1: (por defecto). zlib utiliza su nivel de compresión por defecto (normalmente 6).

  • 0: Sin compresión.

  • 1: La velocidad más rápida, pero la compresión más baja.

  • 9: Mejor compresión pero la velocidad más lenta.

Tipo de dato: integer

Valor por defecto: -1

Ejemplo:

val uri = "mongodb://localhost:27017/?compressors=zlib&zlibCompressionLevel=3"
val mongoClient = MongoClient(uri)

Los tipos de compresión preferidos, en orden, para los mensajes del protocolo de conexión enviados al servidor o recibidos de este. Puede habilitar "snappy", "zlib" y "zstd" como dependencias opcionales en tiempo de compilación. El driver utiliza el primero de estos tipos de compresión que admite el servidor.

Tipo de dato: List[MongoCompressor]

Valor predeterminado: lista vacía

Ejemplo:

val settings = MongoClientSettings.builder()
.compressorList(List(
MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZstdCompressor(),
MongoCompressor.createZlibCompressor()
).asJava)
.build()
val mongoClient = MongoClient(settings)

El nivel de compresión que utilizará zlib. Esta opción acepta un valor entero entre -1 y 9:

  • -1: (por defecto). zlib utiliza su nivel de compresión por defecto (normalmente 6).

  • 0: Sin compresión.

  • 1: La velocidad más rápida, pero la compresión más baja.

  • 9: Mejor compresión pero la velocidad más lenta.

Tipo de dato: integer

Valor por defecto: -1

Ejemplo:

val settings = MongoClientSettings.builder()
.compressorList(List(
MongoCompressor.createZlibCompressor()
.withProperty(MongoCompressor.LEVEL, 3)
).asJava)
.build()
val mongoClient = MongoClient(settings)

La duración de tiempo que el driver intenta establecer una sola conexión de socket TCP con el servidor antes de agotar el tiempo de espera.

Tipo de dato: integer

Valor por defecto: 10000

Ejemplo:

val uri = "mongodb://localhost:27017/?connectTimeoutMS=10000"
val mongoClient = MongoClient(uri)

Esta opción está obsoleta. Configure este tiempo de espera estableciendo el tiempo de espera a nivel de cliente.

La duración de tiempo que el controlador intenta enviar o recibir a través de un socket antes de exceder el tiempo de espera. El sistema operativo establece el valor por defecto.

Tipo de dato: integer

Valor predeterminado: sin tiempo de espera

Ejemplo:

val uri = "mongodb://localhost:27017/?socketTimeoutMS=5000"
val mongoClient = MongoClient(uri)

La duración de tiempo que el driver intenta establecer una sola conexión de socket TCP con el servidor antes de agotar el tiempo de espera.

Tipo de dato: integer

Valor por defecto: 10000

Ejemplo:

val settings = MongoClientSettings.builder()
.applyToSocketSettings(builder =>
builder.connectTimeout(10, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

Esta opción está obsoleta. Configure este tiempo de espera estableciendo el tiempo de espera a nivel de cliente.

La duración de tiempo que el controlador intenta enviar o recibir a través de un socket antes de exceder el tiempo de espera. El sistema operativo establece el valor por defecto.

Tipo de dato: integer

Valor predeterminado: sin tiempo de espera

Ejemplo:

val settings = MongoClientSettings.builder()
.applyToSocketSettings(builder =>
builder.readTimeout(5, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

El tiempo que el driver intenta seleccionar un servidor antes de agotar el tiempo de espera.

Tipo de dato: integer

Valor por defecto: 30000

Ejemplo:

val uri = "mongodb://localhost:27017/?serverSelectionTimeoutMS=30000"
val mongoClient = MongoClient(uri)

El tiempo que el driver intenta seleccionar un servidor antes de agotar el tiempo de espera.

Tipo de dato: integer

Valor por defecto: 30000

Ejemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.serverSelectionTimeout(30, TimeUnit.SECONDS))
.build()
val mongoClient = MongoClient(settings)

Tip

Para aprender más sobre las opciones de autenticación, consulta la sección Mecanismos de autenticación.

El mecanismo que utiliza el driver para autenticarse en MongoDB Server. Si no especificas un mecanismo de autenticación, el driver utiliza SCRAM-SHA-1 o SCRAM-SHA-256, según la versión del servidor.

Tipo de dato: string

Valor por defecto: "SCRAM-SHA-256" al conectarse a MongoDB v4.0 o posterior

Ejemplo:

val uri = "mongodb://<username>:<password>@localhost:27017/?authMechanism=SCRAM-SHA-256"
val mongoClient = MongoClient(uri)

Opciones específicas del mecanismo de autenticación. No son necesarias para todos los mecanismos de autenticación.

Tipo de dato: string

Ejemplo:

val uri = "mongodb://localhost:27017/?authMechanismProperties=AWS_SESSION_TOKEN:12435"
val mongoClient = MongoClient(uri)

La base de datos con la que autenticarse.

Tipo de dato: string

Valor por defecto: "admin"

Ejemplo:

val uri = "mongodb://<username>:<password>@localhost:27017/?authSource=admin"
val mongoClient = MongoClient(uri)

El nombre de usuario para la autenticación. Cuando esta opción se incluye en una URI de conexión, debe codificarse con porcentaje.

Tipo de dato: string

Ejemplo:

val uri = "mongodb://myUser:<password>@localhost:27017/"
val mongoClient = MongoClient(uri)

La contraseña para la autenticación. Cuando esta opción se incluye en una URI de conexión, debe codificarse con porcentaje.

Tipo de dato: string

Ejemplo:

val uri = "mongodb://<username>:myPassword@localhost:27017/"
val mongoClient = MongoClient(uri)

El mecanismo que utiliza el driver para autenticarse en MongoDB Server. Si no especificas un mecanismo de autenticación, el driver utiliza SCRAM-SHA-1 o SCRAM-SHA-256, según la versión del servidor.

Tipo de dato: string

Valor por defecto: "SCRAM-SHA-256" al conectarse a MongoDB v4.0 o posterior

Ejemplo:

val settings = MongoClientSettings.builder()
.credential(MongoCredential.createScramSha256Credential(
"<username>", "<authSource>", "<password>".toCharArray))
.build()
val mongoClient = MongoClient(settings)

Nota

Para configurar el nombre de usuario, la contraseña, la fuente de autenticación y las propiedades específicas del mecanismo MongoClientSettings en, utilice el MongoCredential método de fábrica correspondiente. Para obtener más información, consulte la guía de Mecanismos de autenticación.

El nombre del set de réplicas al que conectarse.

Tipo de dato: string

Ejemplo:

val uri = "mongodb://localhost:27017/?replicaSet=myRS"
val mongoClient = MongoClient(uri)

Especifica si se debe forzar el despacho de todas las operaciones al host. Si especifica esta opción, el driver no acepta el formato de conexión SRV. En su lugar, debe utilizar el formato URI de conexión estándar. Para obtener más información sobre la conexión SRV y los formatos de conexión estándar, consulte la guía Cadenas de conexión en el manual de MongoDB Server.

Esta propiedad debe establecerse en false si se especifica más de un nombre de host.

Tipo de dato: boolean

Valor por defecto: false

Ejemplo:

val uri = "mongodb://localhost:27017/?directConnection=true"
val mongoClient = MongoClient(uri)

La configuración de preferencia de lectura por defecto del cliente. Consulte Preferencia de lectura en el manual de MongoDB Server para obtener más información.

Tipo de dato: string

Valor por defecto: primary

Ejemplo:

val uri = "mongodb://localhost:27017/?readPreference=primary"
val mongoClient = MongoClient(uri)

El problema de lectura del cliente. Para obtener más información, consulte el apartado "Problemas de lectura" en el manual del servidor MongoDB.

Tipo de dato: string

Ejemplo:

val uri = "mongodb://localhost:27017/?readConcern=majority"
val mongoClient = MongoClient(uri)

El permiso de escritura del cliente. Para obtener más información, consulte el apartado "Permiso de escritura" en el manual del servidor MongoDB.

Tipo de dato: string

Ejemplo:

val uri = "mongodb://localhost:27017/?writeConcern=majority"
val mongoClient = MongoClient(uri)

La ventana de latencia para la elegibilidad del servidor. Si el viaje de ida y vuelta de un servidor tarda más que el tiempo de viaje de ida y vuelta del servidor más rápido más este valor, el servidor no es elegible para la selección.

Tipo de dato: integer

Valor por defecto: 15

Ejemplo:

val uri = "mongodb://localhost:27017/?localThresholdMS=35"
val mongoClient = MongoClient(uri)

El nombre del set de réplicas al que conectarse.

Tipo de dato: string

Ejemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.requiredReplicaSetName("myRS"))
.build()
val mongoClient = MongoClient(settings)

Especifica si se debe forzar el despacho de todas las operaciones al host. Si especifica esta opción, el driver no acepta el formato de conexión SRV. En su lugar, debe utilizar el formato URI de conexión estándar. Para obtener más información sobre la conexión SRV y los formatos de conexión estándar, consulte la guía Cadenas de conexión en el manual de MongoDB Server.

Esta propiedad debe establecerse en false si se especifica más de un nombre de host.

Tipo de dato: boolean

Valor por defecto: false

Ejemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.mode(ClusterConnectionMode.SINGLE))
.build()
val mongoClient = MongoClient(settings)

La configuración de preferencia de lectura por defecto del cliente. Consulte Preferencia de lectura en el manual de MongoDB Server para obtener más información.

Tipo de dato: string

Valor por defecto: primary

Ejemplo:

val settings = MongoClientSettings.builder()
.readPreference(ReadPreference.primary())
.build()
val mongoClient = MongoClient(settings)

El problema de lectura del cliente. Para obtener más información, consulte el apartado "Problemas de lectura" en el manual del servidor MongoDB.

Tipo de dato: string

Ejemplo:

val settings = MongoClientSettings.builder()
.readConcern(ReadConcern.MAJORITY)
.build()
val mongoClient = MongoClient(settings)

El permiso de escritura del cliente. Para obtener más información, consulte el apartado "Permiso de escritura" en el manual del servidor MongoDB.

Tipo de dato: string

Ejemplo:

val settings = MongoClientSettings.builder()
.writeConcern(WriteConcern.MAJORITY)
.build()
val mongoClient = MongoClient(settings)

La ventana de latencia para la elegibilidad del servidor. Si el viaje de ida y vuelta de un servidor tarda más que el tiempo de viaje de ida y vuelta del servidor más rápido más este valor, el servidor no es elegible para la selección.

Tipo de dato: integer

Valor por defecto: 15

Ejemplo:

val settings = MongoClientSettings.builder()
.applyToClusterSettings(builder =>
builder.localThreshold(35, TimeUnit.MILLISECONDS))
.build()
val mongoClient = MongoClient(settings)

Para ver una lista completa de las opciones de conexión, consulte Opciones de cadena de conexión en el manual del servidor MongoDB.

Para obtener más información sobre las clases y métodos mencionados en esta guía, consulta la siguiente documentación API: