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

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 dato: AutoEncryptionOptions
Por defecto: 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 dato: acción<ClusterBuilder>
Por defecto: null
Ejemplo de URI de conexión: N/A

compresores

Los tipos de compresión preferidos, en orden, para los mensajes del protocolo de conexión enviados a
o recibidos del servidor. El driver utiliza el primero de estos tipos de compresión
que admite el servidor.

Tipo de dato: CompressorConfiguration
Por defecto: 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 de cómo el driver se autentica en el servidor. Esto incluye
credenciales de autenticación, mecanismo, fuente y otras configuraciones.

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

Tipo de dato: MongoCredential
Por defecto: 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 a utilizar.

Tipo de dato: LinqProvider
Por defecto: LinqProvider.V3
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

La configuración utilizada para el registro.

Tipo de dato: LoggingSettings
Por defecto: null
Ejemplo 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 consistencia de lectura por defecto del cliente.
Consulte nivel de consistencia de lectura para obtener más información.

Tipo de dato: ReadConcern
Por defecto: 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

La configuración de preferencia de lectura por defecto del cliente. MaxStaleness representa el
atraso de la replicación más largo, en tiempo de reloj de pared, que un secundario puede experimentar y
aún ser elegible para la selección del servidor. Especificar -1 significa que no hay máximo.
Consulta preferencia de lectura para obtener más información.

Tipo de dato: ReadPreference
Por defecto: ReadPreference.Primary
Ejemplo 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 nodos iniciales 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 está configurada en true e intenta
usar el formato de lista de nodos iniciales DNS, el driver .NET/C# lanzará una
excepción.

Tipo de dato: ConnectionStringScheme
Por defecto: 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 dato: MongoServerAddress
Por defecto: localhost:27017
Ejemplo de URI de conexión: mongodb://sample.host:27017

ServerApi

Permite optar por el control de versiones de Stable API. Consulte
el manual de MongoDB para obtener más información sobre
el control de versiones de Stable API.

Tipo de dato: ServerApi
Por defecto: null
Ejemplo de URI de conexión: N/A

serverMonitoringMode

Especifica el protocolo de supervisión del servidor que se va a utilizar. Cuando
esta opción se establece en Auto, la moda de supervisión lo determina
el entorno en el que se ejecuta el driver. El driver
utiliza el modo de sondeo en entornos de función como servicio (FaaS),
como Amazon Web Services Lambda, y el modo de transmisión en otros entornos.

Tipo de dato: ServerMonitoringMode
Por defecto: Auto
Ejemplo de URI de conexión: serverMonitoringMode=poll

servidor

Los nodos del clúster donde se ejecuta MongoDB.

Tipo de dato: IEnumerable<MongoServerAddress>
Por defecto: 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 driver recupera para construir tu lista de nodos iniciales. Esta
propiedad sobrescribe el nombre de servicio por defecto para la búsqueda SRV en el
descubrimiento y la sondeo.

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: string
Por defecto: "mongodb"
Ejemplo de URI de conexión: srvServiceName="customname"

SslSettings

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

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

Tipo de dato: SslSettings
Por defecto: 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)

La configuración predeterminada del nivel de confirmación de escritura (write concern), incluido el tiempo de espera de escritura y
el registro en la bitácora, para el cliente.
Consulte nivel de confirmación de escritura (write concern) para obtener más información.

Tipo de dato: WriteConcern
Por defecto: 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