Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Especifica opciones de conexión

Esta página describe las opciones de conexión disponibles en el controlador .NET/C# y explica cómo aplicarlas a su conexión MongoDB.

Las siguientes secciones describen las formas en las que puedes especificar las opciones de conexión.

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

const string uri = "mongodb+srv:/localhost:27017/?connectTimeoutMS=60000&tls=true";

Para aprender más sobre las opciones que puedes especificar en un URI de conexión, consulta Opciones de cadena de conexión en el manual del servidor MongoDB.

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 establecer opciones de conexión en un objeto MongoClientSettings, realiza los siguientes pasos:

  1. Crea una instancia de la clase MongoClientSettings

  2. Establezca propiedades en la instancia para configurar la conexión

  3. Pase la instancia al constructor MongoClient

El siguiente ejemplo de código muestra cómo realizar los pasos anteriores:

var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("localhost", 27017),
ConnectTimeout = TimeSpan.FromMilliseconds(60000),
UseTls = true
};
var client = new MongoClient(settings);

También puedes crear un objeto MongoClientSettings a partir de una cadena de conexión llamando al método MongoClientSettings.FromConnectionString() y pasando la cadena de conexión, como se muestra en el siguiente ejemplo. Esto es útil si ya tienes una cadena de conexión pero deseas modificar algunas configuraciones de manera programática o si debes especificar configuraciones que no están disponibles en la cadena de conexión.

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var settings = MongoClientSettings.FromConnectionString(connectionUri);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

Alternativamente, puedes crear un objeto MongoClientSettings a partir de un objeto MongoUrl llamando al método MongoClientSettings.FromUrl() y pasando el objeto MongoUrl, como se muestra en el siguiente ejemplo. Esto es útil si ya tienes un objeto MongoUrl pero deseas especificar configuraciones que no están disponibles en la clase MongoUrl.

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var url = new MongoUrl(connectionUri);
var settings = MongoClientSettings.FromUrl(url);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

Puede utilizar un objeto MongoUrlBuilder para crear y configurar parámetros de conexión de un objeto MongoUrl. Un(a) MongoUrl es una representación fuertemente tipada de un URI de conexión, y es útil cuando se lee un URI de conexión directamente de otra fuente. Utilizar un objeto MongoUrl tiene muchas de las mismas ventajas que utilizar un objeto MongoClientSettings, aunque ambas clases contienen propiedades y métodos diferentes.

Para usar un objeto MongoUrlBuilder, cree una instancia de la clase y configure las propiedades necesarias. Para crear un objeto MongoUrl a partir de MongoUrlBuilder, llame al método MongoUrlBuilder.ToMongoUrl(). Puede pasar el objeto MongoUrl al constructor MongoClient. El siguiente ejemplo de código muestra este proceso:

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var builder = new MongoUrlBuilder(connectionUri)
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};
var url = builder.ToMongoUrl();
var client = new MongoClient(url);

Las siguientes secciones describen las opciones de conexión disponibles en el controlador .NET/C# y cómo especificarlas mediante un objeto MongoClientSettings o MongoUrlBuilder.

Especifica si se debe forzar el envío de todas las operaciones al host. Si se especifica esta opción, el driver no acepta el formato de conexión de lista de nodos iniciales de DNS . En su lugar, se debe utilizar el formato URI de conexión estándar. El valor por defecto es false.

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

var settings = new MongoClientSettings
{
DirectConnection = true,
};

El nombre del set de réplicas al que se desea conectar. El valor por defecto es null.

var settings = new MongoClientSettings
{
ReplicaSetName = "yourReplicaSet",
};

Especifica si se debe forzar el envío de todas las operaciones al host. Si se especifica esta opción, el driver no acepta el formato de conexión de lista de nodos iniciales de DNS . En su lugar, se debe utilizar el formato URI de conexión estándar. El valor por defecto es false.

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

var builder = new MongoUrlBuilder
{
DirectConnection = true,
};

El nombre del set de réplicas al que se desea conectar. El valor por defecto es null.

var builder = new MongoUrlBuilder
{
ReplicaSetName = "yourReplicaSet",
};

Especifica si se deben relajar las restricciones de TLS tanto como sea posible. Esto puede incluir permitir certificados no válidos o discrepancias de nombres de host. El valor por defecto es false.

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

El siguiente ejemplo de código muestra cómo establecer esta opción en true:

var settings = new MongoClientSettings
{
AllowInsecureTls = true,
};

Opciones de TLS/SSL, incluyendo certificados de cliente, gestión de revocaciones y protocolos TLS/SSL habilitados y deshabilitados. El valor predeterminado es null.

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

var settings = new MongoClientSettings();
settings.SslSettings = new SslSettings()
{
CheckCertificateRevocation = false,
ClientCertificateSelectionCallback = new LocalCertificateSelectionCallback() { ... },
ClientCertificates = new List<X509Certificate>() { ... },
EnabledSslProtocols = SslProtocols.Tls13,
ServerCertificateValidationCallback = new RemoteCertificateValidationCallback() { ... }
};

Especifica si se debe requerir TLS para las conexiones al servidor. Si usas un esquema de "mongodb+srv" o especificas otras opciones de TLS, esta opción será por defecto true. En caso contrario, el valor será por defecto false.

var settings = new MongoClientSettings
{
UseTls = true,
};

Especifica si se deben relajar las restricciones de TLS tanto como sea posible. Esto puede incluir permitir certificados no válidos o discrepancias de nombres de host. El valor por defecto es false.

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

El siguiente ejemplo de código muestra cómo establecer esta opción en true:

var builder = new MongoUrlBuilder
{
AllowInsecureTls = true,
};

Si se debe deshabilitar la comprobación de revocación de certificados durante el apretón de manos TLS. El valor por defecto es false.

var builder = new MongoUrlBuilder
{
TlsDisableCertificateRevocationCheck = true
};

Especifica si se debe requerir TLS para las conexiones al servidor. Si usas un esquema de "mongodb+srv" o especificas otras opciones de TLS, esta opción será por defecto true. En caso contrario, el valor será por defecto false.

var builder = new MongoUrlBuilder
{
UseTls = true,
};

El tiempo que el controlador tarda en establecer una conexión de socket TCP con el servidor antes de agotar el tiempo de espera. El valor predeterminado es 30 segundos.

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

El tiempo que el controlador intenta enviar o recibir datos en un socket antes de agotar el tiempo de espera. El valor predeterminado lo establece el sistema operativo.

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

El tiempo que el controlador tarda en establecer una conexión de socket TCP con el servidor antes de agotar el tiempo de espera. El valor predeterminado es 30 segundos.

var builder = new MongoUrlBuilder
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

El tiempo que el controlador intenta enviar o recibir datos en un socket antes de agotar el tiempo de espera. El valor predeterminado lo establece el sistema operativo.

var builder = new MongoUrlBuilder
{
SocketTimeout = TimeSpan.FromSeconds(60),
};

Los tipos de compresión preferidos, en orden, para los mensajes de protocolo de conexión enviados al servidor o recibidos de él. El controlador usa la primera de estos tipos de compresión que el servidor admite. El valor por defecto es null.

var settings = new MongoClientSettings
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

Los tipos de compresión preferidos, en orden, para los mensajes de protocolo de conexión enviados al servidor o recibidos de él. El controlador usa la primera de estos tipos de compresión que el servidor admite. El valor por defecto es null.

var builder = new MongoUrlBuilder
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

El máximo número de conexiones que el grupo de conexiones de un controlador puede establecer simultáneamente. El valor predeterminado es 2.

var settings = new MongoClientSettings
{
MaxConnecting = 3,
};

El tiempo que una conexión puede estar inactiva antes de que el driver la cierre. El valor por defecto es 10 minutos.

var settings = new MongoClientSettings
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

El tiempo que una conexión puede mantener en el pool antes de expirar. El valor por defecto es 30 minutos.

var settings = new MongoClientSettings
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

El mayor número de clientes o conexiones que el controlador puede crear en su pool de conexiones. Este recuento incluye las conexiones en uso. El valor por defecto es 100.

var settings = new MongoClientSettings
{
MaxConnectionPoolSize = 150,
};

El número de conexiones que el driver crea y mantiene en el pool de conexiones incluso cuando no se están realizando operaciones. Este recuento incluye las conexiones en uso. El valor por defecto es 0.

var settings = new MongoClientSettings
{
MinConnectionPoolSize = 3,
};

El tiempo que el driver intenta comprobar una conexión del pool de conexiones de un servidor antes de que se agote el tiempo de espera. El valor por defecto es dos minutos.

var settings = new MongoClientSettings
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

El máximo número de conexiones que el grupo de conexiones de un controlador puede establecer simultáneamente. El valor predeterminado es 2.

var builder = new MongoUrlBuilder
{
MaxConnecting = 3,
};

El tiempo que una conexión puede estar inactiva antes de que el driver la cierre. El valor por defecto es 10 minutos.

var builder = new MongoUrlBuilder
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

El tiempo que una conexión puede mantener en el pool antes de expirar. El valor por defecto es 30 minutos.

var builder = new MongoUrlBuilder
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

El mayor número de clientes o conexiones que el controlador puede crear en su pool de conexiones. Este recuento incluye las conexiones en uso. El valor por defecto es 100.

var builder = new MongoUrlBuilder
{
MaxConnectionPoolSize = 150,
};

El número de conexiones que el driver crea y mantiene en el pool de conexiones incluso cuando no se están realizando operaciones. Este recuento incluye las conexiones en uso. El valor por defecto es 0.

var builder = new MongoUrlBuilder
{
MinConnectionPoolSize = 3,
};

El tiempo que el driver intenta comprobar una conexión del pool de conexiones de un servidor antes de que se agote el tiempo de espera. El valor por defecto es dos minutos.

var builder = new MongoUrlBuilder
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

La configuración por defecto de nivel de confirmación de escritura (write concern), incluida la caducidad de escritura y registrar en la bitácora, para el cliente. El valor por defecto es WriteConcern.Acknowledged. Consulta nivel de confirmación de escritura (write concern) en el manual del MongoDB Server para obtener más información.

var settings = new MongoClientSettings();
settings.WriteConcern = MongoDB.Driver.WriteConcern.Acknowledged;
settings.WriteConcern = new WriteConcern(
w: 1,
wTimeout: new TimeSpan(0, 0, 0, 30, 0),
fsync: true,
journal: true
);

El componente FSync de la operación de escritura. El valor predeterminado false es. Para obtener más información sobre el fsync comando, consulte fsync en el manual del servidor MongoDB.

var builder = new MongoUrlBuilder
{
FSync = true
};

El componente j del nivel de confirmación de escritura (write concern), que solicita el reconocimiento de que las instancias de MongoDB han escrito en el diario en disco. El valor por defecto depende del valor de la configuración writeConcernMajorityJournalDefault. Para aprender más sobre la opción j, consulta Write Concern en el manual del servidor de MongoDB.

var builder = new MongoUrlBuilder
{
Journal = true
};

El componente w del nivel de confirmación de escritura (write concern), que solicita el reconocimiento de que la operación de escritura se ha propagado a un número especificado de instancias de MongoDB. El valor por defecto es "majority" o 1, dependiendo del número de árbitros y nodos de votación. Para obtener más información sobre la opción w, consulta nivel de confirmación de escritura (write concern) en el manual de MongoDB Server.

var builder = new MongoUrlBuilder
{
W = 2
};

El wtimeout componente de la solicitud de escritura, que especifica un límite de tiempo para dicha solicitud. Para obtener más información sobre la wtimeout opción, consulte "Solicitud de escritura" en el manual de MongoDB Server.

var builder = new MongoUrlBuilder
{
WTimeout = TimeSpan.FromSeconds(5)
};

La preocupación de lectura del cliente. El valor predeterminado ReadConcern.Default es. Para más información, consulte la preocupación de lectura en el manual de MongoDB Server.

var settings = new MongoClientSettings
{
ReadConcern = MongoDB.Driver.ReadConcern.Local,
};

Nivel de preocupación de lectura del cliente. El valor predeterminado ReadConcern.Local es. Para más información, consulte la preocupación de lectura.

var builder = new MongoUrlBuilder
{
ReadConcernLevel = MongoDB.Driver.ReadConcernLevel.Local,
};

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

var settings = new MongoClientSettings
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

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

var builder = new MongoUrlBuilder
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

Configuraciones para cómo el driver se autentica en el servidor. Esto incluye credenciales de autenticación, mecanismos, fuentes y otras configuraciones. El valor por defecto es null.

Si no especificas un mecanismo de autenticación, el controlador usa SCRAM-SHA-1 o SCRAM-SHA-256, dependiendo de la versión del servidor. Ver Mecanismos de autenticación para los mecanismos de autenticación disponibles.

var settings = new MongoClientSettings
{
Credential = MongoCredential.CreatePlainCredential(
databaseName: "admin",
username: "user",
password: "password"
)
};

El mecanismo que el controlador utiliza para autenticarse en MongoDB Server. Si no se especifica un mecanismo de autenticación, el controlador usará SCRAM-SHA-1 o SCRAM-SHA-256, dependiendo de la versión del servidor. Consulta mecanismos de autenticación para los mecanismos de autenticación disponibles.

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

Configuración del mecanismo de autenticación especificado en la propiedad AuthenticationMechanism.

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

La fuente para autenticar al cliente.

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

La contraseña que se debe utilizar para la autenticación.

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

El nombre de usuario a utilizar para autenticación.

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

El intervalo entre las comprobaciones periódicas de supervisión del servidor. Debe ser mayor o igual a 500 milisegundos. El valor por defecto es 10000 milisegundos (10 segundos).

var settings = new MongoClientSettings
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

El tiempo que un socket de monitorización puede estar inactivo antes de caducar. El valor predeterminado es el valor de la propiedad ConnectTimeout.

var settings = new MongoClientSettings
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

La ventana de latencia para la elegibilidad del servidor. Si el tiempo de viaje de ida y vuelta de un servidor es más largo 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. El valor por defecto es de 15 milisegundos.

var settings = new MongoClientSettings
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

La ventana de latencia para la elegibilidad del servidor. Si el tiempo de viaje de ida y vuelta de un servidor es más largo 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. El valor por defecto es de 15 milisegundos.

var settings = new MongoClientSettings
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

El intervalo entre las comprobaciones periódicas de supervisión del servidor. Debe ser mayor o igual a 500 milisegundos. El valor por defecto es 10000 milisegundos (10 segundos).

var builder = new MongoUrlBuilder
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

El tiempo que un socket de monitorización puede estar inactivo antes de caducar. El valor predeterminado es el valor de la propiedad ConnectTimeout.

var builder = new MongoUrlBuilder
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

La ventana de latencia para la elegibilidad del servidor. Si el tiempo de viaje de ida y vuelta de un servidor es más largo 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. El valor por defecto es de 15 milisegundos.

var builder = new MongoUrlBuilder
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

La ventana de latencia para la elegibilidad del servidor. Si el tiempo de viaje de ida y vuelta de un servidor es más largo 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. El valor por defecto es de 15 milisegundos.

var builder = new MongoUrlBuilder
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

La codificación UTF-8 que se utiliza para la deserialización de cadenas. El valor predeterminado es la codificación estricta, donde el controlador genera una excepción cuando encuentra una secuencia de bytes UTF-8 no válida.

var settings = new MongoClientSettings
{
ReadEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

La codificación UTF-8 que se utilizará para la serialización de string. El valor por defecto es la codificación estricta, donde el controlador arroja una excepción cuando encuentra una secuencia de bytes UTF-8 no válida

var settings = new MongoClientSettings
{
WriteEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

Nota

Solo MongoClientSettings

Las propiedades ReadEncoding y WriteEncoding solo están disponibles en la clase MongoClientSettings.

Permite optar por Stable API versioning. El valor por defecto es null. Consulta Stable API en el manual de MongoDB Server para obtener más información sobre la gestión de versiones del Stable API.

var settings = new MongoClientSettings
{
ServerApi = new ServerApi(
ServerApiVersion.V1,
strict: true,
deprecationErrors: true),
};

Nota

Solo MongoClientSettings

La propiedad ServerApi está disponible solo en la clase MongoClientSettings.

Activar las lecturas reintentables. El valor por defecto es true.

var settings = new MongoClientSettings
{
RetryReads = false,
};

Activar las escrituras reintentables. El valor por defecto es true.

var settings = new MongoClientSettings
{
RetryWrites = false,
};

Activar las lecturas reintentables. El valor por defecto es true.

var builder = new MongoUrlBuilder
{
RetryReads = false,
};

Activar las escrituras reintentables. El valor por defecto es true.

var builder = new MongoUrlBuilder
{
RetryWrites = false,
};

El nombre de la aplicación que el controlador pasa al servidor en los metadatos del cliente como parte del proceso de conexión. El servidor imprime este valor en los registros de MongoDB una vez que la conexión está establecida. El valor también se registra en los registros de query lentas y en las colecciones de perfiles. El valor por defecto es null.

var settings = new MongoClientSettings
{
ApplicationName = "yourAppName",
};

Configuraciones para el cifrado automático del lado del cliente. El valor por defecto es null. Para aprender más sobre el cifrado al lado del cliente, consulta Encriptación en uso.

var settings = new MongoClientSettings
{
AutoEncryptionOptions = new AutoEncryptionOptions(
keyVaultNamespace: new CollectionNamespace(
databaseName: "keyvault",
collectionName: "datakeys"),
kmsProviders: new Dictionary<string, IReadOnlyDictionary<string, object>> ()
{
{ "local", new Dictionary<string, object> () { { "key", "<base64-encoded-key>" } } }
}
),
};

Opciones de configuración de bajo nivel para sockets, TLS, clúster y otros. El valor por defecto es null.

var settings = new MongoClientSettings
{
ClusterConfigurator = builder =>
{
builder
.Subscribe<ClusterOpenedEvent>(e =>
{
Console.WriteLine($"Cluster opened: Cluster ID = {e.ClusterId}");
})
.Subscribe<ClusterDescriptionChangedEvent>(e =>
{
Console.WriteLine($"Cluster description changed: {e.NewDescription}");
});
}
};

Especifica si la dirección del host está en formato IPv6. El valor predeterminado es false.

var settings = new MongoClientSettings
{
IPv6 = true,
};

Una opción de solo lectura que indica si la configuración se ha congelado. No se puede cambiar la configuración congelada. El valor predeterminado es false.

var settings = new MongoClientSettings();
if (!settings.IsFrozen)
{
settings.RetryReads = false;
}

Tip

Configuración de congelación

Puedes congelar la configuración de un MongoClientSettings objeto llamando a su método Freeze(). Esto evita que se realicen más cambios en la configuración.

Alternativamente, puede llamar al método FrozenCopy() para crear un nuevo MongoClientSettings objeto con la configuración actual congelada.

El nombre y la versión de una biblioteca personalizada creada con el controlador .NET/C#. El controlador envía esta información al servidor.

var settings = new MongoClientSettings
{
LibraryInfo = new LibraryInfo("customLibraryName", "1.0.0")
};

Especifica si el driver se está conectando a un balanceador de carga. Puede establecer esta propiedad en true solo si se cumplen todas las siguientes condiciones:

  • Solo especifica un nombre de host

  • No estás conectándote a un set de réplicas.

  • No estás utilizando la propiedad SrvMaxHosts

  • No estás utilizando la propiedad DirectConnection

El valor por defecto es false.

var settings = new MongoClientSettings
{
LoadBalanced = true,
};

Los ajustes utilizados para los registros. El valor por defecto es null.

var settings = new MongoClientSettings
{
LoggingSettings = new LoggingSettings(
LoggerFactory.Create(l =>
l.SetMinimumLevel(LogLevel.Debug)))
};

Especifica si se debe usar el formato estándar de cadena de conexión (MongoDB) o el formato de lista de nodos iniciales DNS (MongoDBPlusSrv). Los valores disponibles para esta propiedad se definen en la enumeración ConnectionStringScheme. El valor por defecto es ConnectionStringScheme.MongoDB. Consulta Cadenas de conexión en el manual de MongoDB Server para obtener más información sobre los formatos de cadenas de conexión.

Si la propiedad DirectConnection está configurada en true e intentas usar el formato de lista de nodos iniciales DNS, el driver .NET/C# lanzará una excepción.

var settings = new MongoClientSettings
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

El host y el número de puerto donde se ejecuta MongoDB. El valor por defecto es localhost:27017.

var settings = new MongoClientSettings
{
Server = new MongoServerAddress("localhost", 27017)
};

Especifica el protocolo de monitorización del servidor que se utilizará. Los valores disponibles para esta propiedad se definen en la enumeración ServerMonitoringMode. El valor predeterminado Auto es.

Cuando esta opción está configurada en Auto, el modo de supervisión se determina por 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 AWS Lambda, y el modo de transmisión en otros entornos.

var settings = new MongoClientSettings
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

Los miembros del clúster donde se ejecuta MongoDB. El valor predeterminado es localhost:27017.

var settings = new MongoClientSettings
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

El mayor número de resultados SRV que se seleccionan aleatoriamente al rellenar la lista de semillas o, durante el sondeo de SRV, al añadir nuevos hosts a la topología. El valor predeterminado es 0.

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

var settings = new MongoClientSettings
{
SrvMaxHosts = 5
};

El nombre del servicio de los registros de recursos SRV que el driver recupera para construir tu lista de nodos iniciales. El controlador utiliza el nombre del servicio para crear el URI SRV, que coincide con el siguiente formato:

_{srvServiceName}._tcp.{hostname}.{domainname}

Esta propiedad sobrescribe el nombre de servicio por defecto para la búsqueda SRV en el descubrimiento y la sondeo. El valor por defecto es "mongodb".

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

var settings = new MongoClientSettings
{
SrvServiceName = "yourServiceName"
};

Especifica opciones, como la versión del servidor MongoDB, para traducir consultas LINQ a la API de consultas. El valor predeterminado es null.

var settings = new MongoClientSettings
{
TranslationOptions = new ExpressionTranslationOptions()
{
CompatibilityLevel = ServerVersion.Server80,
EnableClientSideProjections = true
}
};

El nombre de la aplicación que el controlador pasa al servidor en los metadatos del cliente como parte del proceso de conexión. El servidor imprime este valor en los registros de MongoDB una vez que la conexión está establecida. El valor también se registra en los registros de query lentas y en las colecciones de perfiles. El valor por defecto es null.

var builder = new MongoUrlBuilder
{
ApplicationName = "yourAppName",
};

El nombre de la base de datos a la que se conecta el cliente.

var builder = new MongoUrlBuilder
{
DatabaseName = "test_database"
};

Especifica si la dirección del host está en formato IPv6. El valor predeterminado es false.

var builder = new MongoUrlBuilder
{
IPv6 = true,
};

Especifica si el driver se está conectando a un balanceador de carga. Puede establecer esta propiedad en true solo si se cumplen todas las siguientes condiciones:

  • Solo especifica un nombre de host

  • No estás conectándote a un set de réplicas.

  • No estás utilizando la propiedad SrvMaxHosts

  • No estás utilizando la propiedad DirectConnection

El valor por defecto es false.

var builder = new MongoUrlBuilder
{
LoadBalanced = true,
};

Especifica si se debe usar el formato estándar de cadena de conexión (MongoDB) o el formato de lista de nodos iniciales DNS (MongoDBPlusSrv). Los valores disponibles para esta propiedad se definen en la enumeración ConnectionStringScheme. El valor por defecto es ConnectionStringScheme.MongoDB. Consulta Cadenas de conexión en el manual de MongoDB Server para obtener más información sobre los formatos de cadenas de conexión.

Si la propiedad DirectConnection está configurada en true e intentas usar el formato de lista de nodos iniciales DNS, el driver .NET/C# lanzará una excepción.

var builder = new MongoUrlBuilder
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

El host y el número de puerto donde se ejecuta MongoDB. El valor por defecto es localhost:27017.

var builder = new MongoUrlBuilder
{
Server = new MongoServerAddress("localhost", 27017)
};

Especifica el protocolo de monitorización del servidor que se utilizará. Los valores disponibles para esta propiedad se definen en la enumeración ServerMonitoringMode. El valor predeterminado Auto es.

Cuando esta opción está configurada en Auto, el modo de supervisión se determina por 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 AWS Lambda, y el modo de transmisión en otros entornos.

var builder = new MongoUrlBuilder
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

Los miembros del clúster donde se ejecuta MongoDB. El valor predeterminado es localhost:27017.

var builder = new MongoUrlBuilder
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

El mayor número de resultados SRV que se seleccionan aleatoriamente al rellenar la lista de semillas o, durante el sondeo de SRV, al añadir nuevos hosts a la topología. El valor predeterminado es 0.

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

var builder = new MongoUrlBuilder
{
SrvMaxHosts = 5
};

El nombre del servicio de los registros de recursos SRV que el driver recupera para construir tu lista de nodos iniciales. El controlador utiliza el nombre del servicio para crear el URI SRV, que coincide con el siguiente formato:

_{srvServiceName}._tcp.{hostname}.{domainname}

Esta propiedad sobrescribe el nombre de servicio por defecto para la búsqueda SRV en el descubrimiento y la sondeo. El valor por defecto es "mongodb".

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

var builder = new MongoUrlBuilder
{
SrvServiceName = "yourServiceName"
};

Para obtener más información sobre los tipos utilizados en esta página, consulte la siguiente documentación de la API:

Volver

Elija un destino de conexión