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.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

Opciones de conexión

Esta sección describe las opciones de conexión y autenticación de MongoDB disponibles en el controlador .NET/C#. Puede configurar su conexión usando la URI de conexión o un objeto MongoClientSettings.

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:

using MongoDB.Driver;
// Sets the connection URI
const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a new client and connects to the server
var client = new MongoClient(connectionUri);

Puedes usar un objeto MongoClientSettings para configurar la conexión en el código en lugar de en una URI de conexión. Configurar la conexión de esta manera facilita cambiar la configuración en tiempo de ejecución, ayuda a detectar errores durante la compilación y proporciona más opciones de configuración que la URI de conexión.

Para usar un objeto MongoClientSettings, crea una instancia de la clase, configura sus propiedades y pásala como un argumento al constructor MongoClient:

//const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a MongoClientSettings object
var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("sample.host", 27017),
ConnectTimeout = new TimeSpan(0, 0, 60),
UseTls = true
};
// Creates a new client and connects to the server
var client = new MongoClient(settings);

La siguiente tabla enumera todas las opciones de conexión disponibles en la clase MongoClientSettings y, si es posible, cómo lograr el mismo resultado en la cadena de conexión. Si una propiedad MongoClientSettings se asigna a más de una opción en la cadena de conexión, el Ejemplo de URI de conexión muestra todas las opciones relevantes.

Nota

Si estás usando un parámetro de query para una duración de tiempo, el valor debe estar en milisegundos. Por ejemplo, para especificar 60 segundos, usa el valor 60000. Si está utilizando un objeto MongoClientSettings para una duración temporal, utiliza el valor TimeSpan apropiado.

MongoClientSettings propiedad
Descripción

PermitirTlsInseguro

Especifica si se deben relajar las restricciones de TLS tanto como sea posible. Esto puede incluir
permitir certificados no válidos o discrepancias en los nombres de host.

Si esta propiedad se establece en true y SslSettings.CheckCertificateRevocation
se establece en false, el driver .NET/C# lanzará una excepción.

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

NombreDeLaAplicacion

El nombre de la aplicación que el driver pasa al servidor en los metadatos del cliente como parte del
protocolo de enlace de conexión. El servidor imprime este valor en los registros de MongoDB una vez
establecida la conexión. El valor también se registra en los logs de query lentas y en las
colección de perfiles.

Tipo de dato: string
Por defecto: null
Ejemplo de URI de conexión: appName=yourApp

Opciones de autoencriptación

Configuración para el cifrado automático del lado del cliente.

Tipo de datos: AutoEncryptionOptions
Predeterminado: null
Ejemplo de URI de conexión: N/A

ClusterConfigurator

Opciones de configuración de bajo nivel para sockets, TLS, clúster y otros.

Tipo de datos: Acción
Predeterminado: null
Ejemplo de URI de conexión: N/A

compresores



Tipos

de compresión preferidos, en orden, para mensajes de protocolo dered enviados o recibidos del servidor. El controlador utiliza el primero de estos tipos de compresión que admite el servidor. Tipo dedatos: CompressorConfiguration
Predeterminado: null
Ejemplo de URI de conexión: compressors=snappy,zstd

ConnectTimeout

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 datos: TimeSpan
Por defecto: 30 segundos
Ejemplo de URI de conexión: connectTimeoutMS=0

Credencial

Configuración para la autenticación del controlador en el servidor. Esto incluye
credenciales de autenticación, mecanismo, origen y otras configuraciones.

Si no especifica un mecanismo de autenticación, el controlador utiliza
SCRAM-SHA-1 SCRAM-SHA-256o, según la versión del servidor. Consulte los
mecanismos de autenticación para ver los
mecanismos de autenticación disponibles.

Tipo
dedatos: MongoCredential Predeterminado:null
Ejemplo de URI de conexión:

mongodb://user1:password1&authMechanism=GSSAPI
&authMechanismProperties=SERVICE_NAME:other,REALM:otherrealm
&authSource=$external

directConnection

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 de la lista de nodos iniciales de DNS.
Debe utilizar el formato URI de conexión estándar
en su lugar.

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

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

IntervaloDeLatidos

El intervalo entre las comprobaciones regulares de supervisión del servidor. Debe ser mayor o
igual a 500 milisegundos.

Tipo de dato: TimeSpan
Por defecto: 10 segundos
Ejemplo de URI de conexión: heartbeatFrequencyMS=5000

HeartbeatTimeout

La cantidad de tiempo que un socket de supervisión puede estar inactivo antes de que se agote el tiempo de espera.

Tipo de dato: TimeSpan
Por defecto: Mismo valor que ConnectTimeout
Ejemplo de URI de conexión: heartbeatTimeoutMS=5000

IPv6

Especifica si la dirección del host está en formato IPv6.

Tipo de dato: boolean
Por defecto: false
Ejemplo de URI de conexión: ipv6=true

IsFrozen

Indica si la configuración se ha congelado. La configuración congelada no se puede cambiar.
Esta opción es de solo lectura.

Tipo de dato: boolean
Por defecto: false
Ejemplo de URI de conexión: N/A

LinqProvider

El proveedor LINQ que se utilizará.

Tipo de datos: LinqProvider
LinqProvider.V3
Valor predeterminado: Ejemplo de URI de conexión: N/A

loadBalanced

Especifica si el driver está conectado a un balanceador de carga. Puedes establecer esta
propiedad en true solo si:

  • Especifica solo un nombre de host.

  • No te estás conectando a un set de réplicas.

  • No estás usando la propiedad SrvMaxHosts.

  • No estás usando la propiedad DirectConnection.

Tipo de dato: boolean
Por defecto: false
Ejemplo de URI de conexión: loadBalanced=true

LocalThreshold

La ventana de latencia para la elegibilidad del servidor. Si el tiempo de ida y vuelta de un servidor es más largo
que el tiempo 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: TimeSpan
Por defecto: 15 milisegundos
Ejemplo de URI de conexión: localThresholdMS=0

LoggingSettings

Configuración utilizada para el registro.

Tipo de datos: LoggingSettings Predeterminado:
Ejemplo null
de URI de conexión: N/A

maxConnecting

El mayor número de conexiones que un pool de conexiones de drivers puede estar
estableciendo de forma simultánea.

Tipo de dato: integer
Por defecto: 2
Ejemplo de URI de conexión: maxConnecting=3

MaxConnectionIdleTime

El tiempo que una conexión puede estar inactiva antes de que el driver la cierre.

Tipo de dato: TimeSpan
Por defecto: 10 minutos
Ejemplo de URI de conexión: maxIdleTimeMS=300000

MaxConnectionLifeTime

El tiempo que una conexión puede mantener en el pool antes de expirar.

Tipo de dato: TimeSpan
Por defecto: 30 minutos
Ejemplo de URI de conexión: maxLifetimeMS=50000

MaxConnectionPoolSize

El mayor número de clientes o conexiones que el driver puede crear en su
pool de conexiones. Este recuento incluye las conexiones en uso.

Tipo de dato: integer
Por defecto: 100
Ejemplo de URI de conexión: maxPoolSize=150

MinConnectionPoolSize

El número de conexiones que el driver debe crear y mantener en el
pool de conexiones incluso cuando no se están realizando operaciones. Este recuento incluye las conexiones
en uso.

Tipo de dato: integer
Por defecto: 0
Ejemplo de URI de conexión: minPoolSize=1

readConcern

El nivel de lectura predeterminado del cliente. Consulte la sección
"Lectura preocupante" para obtener más información.

Tipo de datos: ReadConcern
Predeterminado: ReadConcern.Default
Ejemplo de URI de conexión: readConcernLevel=local

ReadEncoding

La codificación UTF-8 que se utilizará para la deserialización de string.
La codificación estricta generará una excepción cuando8
se encuentre una secuencia de bytes UTF- no válida.

Tipo de dato: UTF8Encoding
Por defecto: Codificación estricta
Ejemplo de URI de conexión: N/A

preferencia de lectura

Configuración predeterminada de preferencia de lectura del cliente. MaxStaleness representa el
retraso de replicación más largo, en tiempo real, que un servidor secundario puede experimentar y
aún así ser elegible para la selección del servidor. Especificar -1 significa que no hay un máximo. Consulte la
preferencia de lectura para obtener más información.

Tipo de datos: ReadPreference
Predeterminado: ReadPreference.PrimaryEjemplo de URI
de conexión:

readPreference=primaryPreferred
&maxStalenessSeconds=90
&readPreferenceTags=dc:ny,rack:1

Puedes incluir el parámetro readPreferenceTags en la URI de la conexión más de una vez. Si lo haces, el cliente trata cada instancia como un conjunto de etiquetas independiente. El orden de las etiquetas en la URI determina el orden de las preferencias de lectura. Solo puedes usar este parámetro si el modo de preferencia de lectura no es primary.

Nombre del set de réplicas

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

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

retryReads

Activar las lecturas reintentables.

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

retryWrites

Habilita la escritura reintentable.

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

esquema

Especifica si se debe usar el formato de cadena de conexión estándar (MongoDB)
o el formato de lista de semillas DNS (MongoDBPlusSrv). Consulte
el Manual de MongoDB para obtener más
información sobre los formatos de cadena de conexión.

Si la propiedad DirectConnection se establece en true e intenta
usar el formato de lista de semillas DNS, el controlador .NET/C# generará una
excepción. Tipo


dedatos: ConnectionStringScheme.
Valor predeterminado: ConnectionStringScheme.MongoDB. Ejemplo de URI de conexión: mongodb+srv://.

Server

El host y el número de puerto donde se ejecuta MongoDB.

Tipo de datos: MongoServerAddress.
localhost:27017
Valor predeterminado:. Ejemplo de URI de conexión:. mongodb://sample.host:27017

ServerApi

Permite optar por el versionado estable de la API. Consulte
el manual de MongoDB para obtener más información sobre el
versionado estable de la API.

Tipo de datos: ServerApi
Predeterminado: null
Ejemplo de URI de conexión: N/A

serverMonitoringMode

Especifica el protocolo de monitorización del servidor que se utilizará. Cuando
esta opción se establece Auto en, el modo de monitorización viene determinado
por el entorno en el que se ejecuta el controlador. El controlador
utiliza el modo de sondeo en entornos de función como servicio (FaaS),
como AWS Lambda, y el modo de transmisión en otros entornos.

Tipo
de datos:ServerMonitoringMode ValorAuto
predeterminado:Ejemplo de URI de conexión:serverMonitoringMode=poll

servidor

Miembros del clúster donde se ejecuta MongoDB.

Tipo de datos: IEnumerable
Predeterminado: localhost:27017
Ejemplo de URI de conexión: mongodb://sample.host1:27017,sample.host2:27017

ServerSelectionTimeout

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

Tipo de dato: TimeSpan
Por defecto: 30 segundos
Ejemplo de URI de conexión: serverSelectionTimeoutMS=15000

SocketTimeout

La duración de tiempo que el driver intenta enviar o recibir a través de un socket antes de que se
agote el tiempo de espera.

Tipo de dato: TimeSpan
Por defecto: por defecto del sistema operativo
Ejemplo de URI de conexión: socketTimeoutMS=0

srvMaxHosts

El mayor número de resultados de SRV que se seleccionarán al azar al rellenar inicialmente
la lista de nodos iniciales o, durante la exploración de SRV, al añadir nuevos hosts a la topología.

Puedes usar esta propiedad solo si el esquema de la cadena de conexión está establecido
en ConnectionStringScheme.MongoDBPlusSrv. No se puede utilizar al conectarse
a un set de réplicas.

Tipo de dato: integer
Por defecto: 0
Ejemplo de URI de conexión: srvMaxHosts=3

SrvServiceName

El nombre del servicio de los registros de recursos SRV
que el controlador recupera para construir la lista de semillas. Esta
propiedad anula el nombre de servicio predeterminado para la búsqueda SRV en el
descubrimiento y el sondeo.

Solo puede usar esta propiedad si el esquema de cadena de conexión está configurado
ConnectionStringScheme.MongoDBPlusSrvcomo. No puede usarla al conectarse
a un conjunto de réplicas.

Tipo de datos: string
Predeterminado: "mongodb"
Ejemplo de URI de conexión: srvServiceName="customname"

SslSettings

Opciones de TLS/SSL, incluidos certificados de cliente, manejo de revocación y
protocolos TLS/SSL habilitados y deshabilitados.

Si SslSettings.CheckCertificateRevocation se establece en false y
AllowInsecureTls se establece true en, el controlador .NET/C# generará
una excepción.

Tipo de datos: SslSettings
Predeterminado: null
Ejemplo de URI de conexión: tlsDisableCertificateRevocationCheck=false

UseTls

Especifica si se requiere TLS para las conexiones al servidor. Si utilizas
un esquema de "mongodb+srv" o especificas otras opciones de TLS,
esta opción se establece por defecto en true.

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

WaitQueueTimeout

El tiempo que el driver intenta extraer una conexión del pool de conexiones de un
servidor antes de que caduque.

Tipo de dato: TimeSpan
Por defecto: 2 minutos
Ejemplo de URI de conexión: waitQueueTimeoutMS=0

Nivel de confirmación de escritura (write concern)

Configuración predeterminada



de WriteConcern, incluyendo el tiempo de espera de escrituray el registro de transacciones, para el cliente. Consulte WriteConcernpara obtener más información. Tipo de datos: WriteConcern
Predeterminado: WriteConcern.Acknowledged
Ejemplo de URI de conexión: w=majority&wTimeoutMS=0&journal=true

WriteEncoding

Especifica si la serialización de string UTF-8 es estricta o indulgente. Con
codificación estricta, el driver arrojará una excepción cuando encuentre una
8 secuencia de bytes UTF- no válida.

Tipo de dato: UTF8Encoding
Por defecto: Codificación estricta
Ejemplo de URI de conexión: N/A