Overview
Esta página describe las opciones de conexión disponibles en el driver C y explica cómo aplicarlas a tu conexión de MongoDB.
Cómo especificar las opciones de conexión
Las siguientes secciones describen las formas en las que puedes especificar las opciones de conexión.
Utilice la cadena de conexión
Si se pasa una cadena de conexión a monogoc_client_t estructura, puedes incluir opciones de conexión en la string como pares de <name>=<value>. En el siguiente ejemplo, la cadena de conexión contiene la opción connectTimeoutMS con un valor de 60000 y la opción tls con un valor de true:
mongoc_init(); // Specifies the connection options in the connection string const char *uri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true"; // Creates a new client mongoc_client_t *client = mongoc_client_new_from_uri_with_error(uri, &error); if (!client) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Use client... cleanup: mongoc_client_destroy(client); mongoc_uri_destroy(uri);
Para obtener más información sobre las opciones que puedes especificar en una cadena de conexión, consulta Opciones de cadena de conexión en el manual del servidor MongoDB.
Utilice la API Options de URI
Puedes utilizar opciones URI para configurar los ajustes de conexión en el código en lugar de en una cadena de conexión. Configurar la conexión de esta manera facilita el cambio de ajustes en tiempo de ejecución, ayuda a detectar errores durante la compilación y proporciona más opciones de configuración que la cadena de conexión.
Para configurar las opciones de conexión utilizando la opción URI, realiza los siguientes pasos:
Crea una estructura
mongoc_uri_tcon tu cadena de conexiónSe puede usar una función de configuración de URI para indicar la opción de conexión deseada
Crea un nuevo cliente con el URI pasando el URI a
mongoc_client_new_from_uri()
El siguiente ejemplo de código muestra cómo realizar los pasos anteriores:
mongoc_uri_t *uri = mongoc_uri_new_with_error("mongodb+srv://localhost:27017/", &error); if (!uri) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Specifies the connection options by using the URI options API if (!mongoc_uri_set_option_as_int32(uri, MONGOC_URI_CONNECTTIMEOUTMS, 60000)) { fprintf(stderr, "Failed to set '%s'\n", MONGOC_URI_CONNECTTIMEOUTMS); goto cleanup; } if (!mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true)) { fprintf(stderr, "Failed to set '%s'\n", MONGOC_URI_TLS); goto cleanup; } // Creates a new client client = mongoc_client_new_from_uri_with_error(uri, &error); if (!client) { fprintf(stderr, "%s\n", error.message); goto cleanup; } // Use client... cleanup: mongoc_client_destroy(client); mongoc_uri_destroy(uri);
Opciones de conexión
Las siguientes secciones describen las opciones de conexión disponibles en el controlador C y cómo especificarlas mediante una cadena de conexión directa o una opción URI.
Opciones de set de réplicas
directConnection
Especifica si se debe forzar el envío de todas las operaciones al host. Si especifica esta opción, el controlador no acepta el formato de conexión SRV. En su lugar, debe usar el formato de 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 de Cadenas de conexión.
El valor por defecto es false. Esta propiedad debe configurarse como false sí especifica más de un nombre de Host.
mongoc_uri_t *uri = mongoc_uri_new("mongodb://localhost:27017/?directConnection=true");
Set de réplicas
El nombre del set de réplicas al que se desea conectar. El valor por defecto es null.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?replicaSet=yourReplicaSet");
directConnection
Especifica si se debe forzar el envío de todas las operaciones al host. Si especifica esta opción, el controlador no acepta el formato de conexión SRV. En su lugar, debe usar el formato de 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 de Cadenas de conexión.
El valor por defecto es false. Esta propiedad debe configurarse como false sí especifica más de un nombre de Host.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_DIRECTCONNECTION, true);
Set de réplicas
El nombre del set de réplicas al que se desea conectar. El valor por defecto es null.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_REPLICASET, "yourReplicaSet");
Opciones de TLS
Habilitar TLS
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true");
Permitir TLS no seguro
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.
El siguiente ejemplo de código muestra cómo establecer esta opción en true:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsAllowInvalidCertificates=true");
TLS deshabilitar verificación de revocación de certificado
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsDisableCertificateRevocationCheck=true");
Opciones SSL
Opciones de TLS/SSL, incluyendo certificados de cliente, gestión de revocaciones y protocolos de TLS/SSL habilitados y deshabilitados. El valor por defecto es null.
Esta opción solo puede establecerse mediante Opciones URI. Para aprender cómo configurar las opciones de SSL, consulta la sección Opciones de SSL en la MongoC URI Option tab.
Habilitar TLS
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.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true);
Permitir TLS no seguro
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.
El siguiente ejemplo de código muestra cómo establecer esta opción en true:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSINSECURE, true);
TLS deshabilitar verificación de revocación de certificado
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.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSDISABLECERTIFICATEREVOCATIONCHECK, true);
Opciones SSL
Opciones de TLS/SSL, incluyendo certificados de cliente, gestión de revocaciones y protocolos de TLS/SSL habilitados y deshabilitados. El valor por defecto es null.
Si SslSettings.CheckCertificateRevocation se establece en false y AllowInsecureTls se establece en true, el driver de C lanza una excepción.
mongoc_client_t *client; mongoc_ssl_opt_t ssl_opts = {0}; ssl_opts.pem_file = "/path/to/client-cert.pem"; ssl_opts.pem_pwd = "password"; ssl_opts.ca_file = "/path/to/ca.pem"; ssl_opts.allow_invalid_hostname = false; mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true"); client = mongoc_client_new_from_uri(uri); mongoc_client_set_ssl_opts(client, &ssl_opts);
Para más información sobre las opciones de TLS, consulta el Guía para configurar la Seguridad de capa de transporte (TLS).
Opciones de tiempo de espera
Tiempo de espera de conexión
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. El valor por defecto es de 10 segundos.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?connectTimeoutMS=60000");
Tiempo de espera de socket
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketTimeoutMS=60000");
Tiempo de espera de conexión
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. El valor por defecto es de 10 segundos.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_CONNECTTIMEOUTMS, 60000);
Tiempo de espera de socket
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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETTIMEOUTMS, 60000);
Opciones de compresión
compresores
Los tipos de compresión preferidos, en orden, para los mensajes del protocolo de conexión enviados al o recibidos del servidor. Puede habilitar "snappy", "zlib" y "zstd" como dependencias opcionales en tiempo de compilación. El controlador utiliza el primero de estos tipos de compresión que admite el servidor. El valor por defecto está vacío.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?compressors=zlib,snappy");
compresores
Los tipos de compresión preferidos, en orden, para los mensajes del protocolo de conexión enviados al o recibidos del servidor. Puede habilitar "snappy", "zlib" y "zstd" como dependencias opcionales en tiempo de compilación. El controlador utiliza el primero de estos tipos de compresión que admite el servidor. El valor por defecto está vacío.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_COMPRESSORS, "zlib,snappy");
Opciones del pool de conexiones
maxPoolSize
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?maxPoolSize=150");
Tiempo de espera de la cola
El tiempo que el driver intenta extraer una conexión del pool de conexiones del servidor antes de que caduque.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?waitQueueTimeoutMS=30000");
Tamaño máximo del pool de conexiones
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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_MAXPOOLSIZE, 150)
También puedes establecer el tamaño máximo del pool de conexiones utilizando una estructura mongoc_client_pool_t:
mongoc_client_pool_t *pool = mongoc_client_pool_new(uri); // Specifies max pool size mongoc_client_pool_max_size(pool, 150);
Tiempo de espera de la cola
El tiempo que el driver intenta extraer una conexión del pool de conexiones del servidor antes de que caduque.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_WAITQUEUETIMEOUTMS, 30000);
Para obtener más información sobre los pool de conexiones, consulta la guía pool de conexiones.
Opciones de nivel de confirmación de escritura
w
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?w=2");
w Tiempo de espera
El wtimeoutms componente del nivel de confirmación de escritura (write concern), que especifica un límite de tiempo para el nivel de confirmación de escritura (write concern). Para obtener más información sobre la opción wtimeout, consulta nivel de confirmación de escritura (Write Concern) en el manual de MongoDB Server.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?wTimeoutMS=5000");
Journal
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?journal=true");
w
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.
Puedes establecer w utilizando la opción MONGOC_URI_W:
// Use the int32 version of the mongoc_uri_t set function to set integer values mongoc_uri_set_option_as_int32(uri, MONGOC_URI_W, 2); // Use the utf8 version of the mongoc_uri_t set function to set string values mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_W, "majority");
También puede configurar w utilizando una estructura mongoc_write_concern_t:
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets w=2 mongoc_write_concern_set_w(write_concern, 2); mongoc_client_set_write_concern(client, write_concern);
w Tiempo de espera
El wtimeoutms componente del nivel de confirmación de escritura (write concern), que especifica un límite de tiempo para el nivel de confirmación de escritura (write concern). Para obtener más información sobre la opción wtimeout, consulta nivel de confirmación de escritura (Write Concern) en el manual de MongoDB Server.
Puedes establecer wtimeoutms utilizando la opción MONGOC_URI_WTIMEOUTMS:
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_WTIMEOUTMS, 5000);
También puede configurar wtimeoutms utilizando una estructura mongoc_write_concern_t:
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets w=2 mongoc_write_concern_set_wtimeout(write_concern, 5000); // Apply write concern to client mongoc_client_set_write_concern(client, write_concern);
Journal
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.
Puedes establecer journal utilizando la opción MONGOC_URI_JOURNAL:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_JOURNAL, true);
También puede configurar journal utilizando una estructura mongoc_write_concern_t:
// Creates a write concern structure mongoc_write_concern_t *write_concern = mongoc_write_concern_new(); // Sets journal to true mongoc_write_concern_set_journal(write_concern, true); // Apply write concern to client mongoc_client_set_write_concern(client, write_concern);
Opciones de readConcern
readConcernLevel
El nivel de consistencia de lectura del cliente. Para obtener más información, consulte la referencia de nivel de consistencia de lectura en el manual de MongoDB Server.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readConcernLevel=local");
readConcernLevel
El nivel de consistencia de lectura del cliente. Para obtener más información, consulte la referencia de nivel de consistencia de lectura en el manual de MongoDB Server.
Puedes configurar el nivel de consistencia de lectura utilizando la opción MONGOC_URI_READCONCERNLEVEL:
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_READCONCERNLEVEL, "local")
También puedes configurar el nivel de consistencia de lectura utilizando una estructura mongoc_read_concern_t:
mongoc_read_concern_t *read_concern = mongoc_read_concern_new(); // Set the read concern level to "local" mongoc_read_concern_set_level(read_concern, MONGOC_READ_CONCERN_LEVEL_LOCAL); mongoc_client_set_read_concern(client, read_concern);
Opciones de preferencia de lectura
preferencia de lectura
Los ajustes de preferencia de lectura por defecto del cliente. El valor por defecto es primary. Consulta Preferencias de lectura en el manual de MongoDB Server para obtener más información.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=primaryPreferred");
Latencia máxima
Los Segundos Máximos de Antigüedad representan el mayor atraso de la replicación, en tiempo de reloj, que una secundaria puede experimentar y seguir siendo elegible para la selección del servidor. El valor mínimo permitido para maxStalenessSeconds es 90 segundos. Esta opción debe usarse con una preferencia de lectura distinta a la primaria.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?readPreference=secondary&maxStalenessSeconds=120");
Umbral local
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?localThresholdMS=150");
preferencia de lectura
Los ajustes de preferencia de lectura por defecto del cliente. El valor por defecto es primary. Consulta Preferencias de lectura en el manual de MongoDB Server para obtener más información.
Puedes establecer la preferencia de lectura utilizando una estructura mongoc_read_prefs_t:
mongoc_client_t *client = mongoc_client_new("mongodb+srv://localhost:27017/"); // Specifies the read preference mongoc_read_prefs_t *read_prefs = mongoc_read_prefs_new(MONGOC_READ_PRIMARY_PREFERRED); mongoc_client_set_read_prefs(client, read_prefs);
También puedes establecer la preferencia de lectura utilizando la opción MONGOC_URI_READPREFERENCE:
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_READPREFERENCE, "primaryPreferred")
Latencia máxima
Los Segundos Máximos de Antigüedad representan el mayor atraso de la replicación, en tiempo de reloj, que una secundaria puede experimentar y seguir siendo elegible para la selección del servidor. El valor mínimo permitido para maxStalenessSeconds es 90 segundos. Esta opción debe usarse con una preferencia de lectura distinta a la primaria.
Puede establecer la máxima obsolescencia utilizando la opción MONGOC_URI_MAXSTALENESSSECONDS:
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_MAXSTALENESSSECONDS, 120);
También puedes establecer el máximo de obsolescencia utilizando una estructura mongoc_read_prefs_t:
mongoc_client_t *client = mongoc_client_new("mongodb+srv://localhost:27017/"); mongoc_read_prefs_t *read_prefs = mongoc_read_prefs_new(MONGOC_READ_SECONDARY); // Specifies max staleness to 120 seconds mongoc_read_prefs_set_max_staleness_seconds(read_prefs, 120); mongoc_client_set_read_prefs(client, read_prefs);
Umbral local
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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_LOCALTHRESHOLDMS, 150);
Opciones de autenticación
Mecanismo de autenticación
El mecanismo que el driver utiliza para autenticarse en el MongoDB Server. Si no se especifica un mecanismo de autenticación, el controlador utiliza SCRAM-SHA-1 o SCRAM-SHA-256, según la versión del servidor. Para obtener más información sobre los mecanismos de autenticación disponibles, consulta la Mecanismos de autenticación o la guía Mecanismos de autenticación empresarial.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?authSource=admin&authMechanism=GSSAPI");
Mecanismo de autenticación
El mecanismo que el driver utiliza para autenticarse en el MongoDB Server. Si no se especifica un mecanismo de autenticación, el controlador utiliza SCRAM-SHA-1 o SCRAM-SHA-256, según la versión del servidor. Para obtener más información sobre los mecanismos de autenticación disponibles, consulta la Mecanismos de autenticación o la guía Mecanismos de autenticación empresarial.
mongoc_uri_set_auth_mechanism(uri, "GSSAPI");
Opciones de selección y descubrimiento de servidores
Frecuencia del latido cardíaco
El intervalo entre las verificaciones de supervisión del servidor. Debe ser mayor o igual a 500 milisegundos. El valor por defecto es 10000 ms (10 segundos) en modo agrupado (multihilo) y 60000 ms (60 segundos) en modo no agrupado (de un solo hilo).
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?heartbeatFrequencyMS=5000");
Tiempo de espera de selección del servidor
El tiempo que el controlador intenta seleccionar un servidor antes de agotar el tiempo de espera. El valor por defecto es 30000 ms (30 segundos).
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?serverSelectionTimeoutMS=40000");
Intervalo de comprobación del socket
Solo se aplica a clientes de un solo hilo. Si un socket no se ha utilizado en este tiempo, el driver comprueba la conexión con una rápida llamar "hello" antes de volver a utilizarlo. Por defecto, 5000 ms (5 segundos).
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?socketCheckIntervalMS=10000");
Frecuencia del latido cardíaco
El intervalo entre las verificaciones de supervisión del servidor. Debe ser mayor o igual a 500 milisegundos. El valor por defecto es 10000 ms (10 segundos) en modo agrupado (multihilo) y 60000 ms (60 segundos) en modo no agrupado (de un solo hilo).
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_HEARTBEATFREQUENCYMS, 5000);
Tiempo de espera de selección del servidor
El tiempo que el controlador intenta seleccionar un servidor antes de agotar el tiempo de espera. El valor por defecto es 30000 ms (30 segundos).
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SERVERSELECTIONTIMEOUTMS, 40000);
Intervalo de comprobación del socket
Solo se aplica a clientes de un solo hilo. Si un socket no se ha utilizado en este tiempo, el driver comprueba la conexión con una rápida llamar "hello" antes de volver a utilizarlo. Por defecto, 5000 ms (5 segundos).
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETCHECKINTERVALMS, 10000);
Opciones de reintentos
retryReads
Activar las lecturas reintentables. El valor por defecto es true.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryReads=false");
retryWrites
Activar las escrituras reintentables. El valor por defecto es true.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryWrites=false");
Nota
Limitación de velocidad adaptativa
Si los errores con etiquetas SystemOverloadedError o RetryableError provocan fallos en su aplicación o aparecen en los registros de la misma, es posible que su controlador no esté actualizado a una versión compatible con la limitación de velocidad adaptativa. Le recomendamos actualizar su controlador C de MongoDB a la versión 2.3 o posterior. Si estos errores persisten tras la actualización, puede solucionarlos mediante cambios en el servidor, como revisar la configuración de Intelligent Workload Management (IWM), o mediante cambios en la aplicación, como implementar un manejo de errores personalizado o limitar las solicitudes del cliente. Según su situación, los cambios en la aplicación pueden ser preferibles o necesarios.
La limitación de velocidad adaptativa ayuda a gestionar la carga del servidor ajustando dinámicamente la frecuencia de las solicitudes en función de las condiciones actuales. Esta función está disponible en MongoDB 8.3 y versiones posteriores.
Para obtener más información sobre IWM, consulte la página de Fiabilidad, Disponibilidad y Gestión de Carga de Trabajo o la página de Errores de Sobrecarga en la documentación de Atlas.
Opciones misceláneas
Nombre de la aplicación
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 establece la conexión. El valor también se registra en los registros de query lentas y en las colecciones de perfiles. El valor por defecto está vacío.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?appName=yourAppName");
loadBalanced
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
SrvMaxHostsNo estás utilizando la propiedad
DirectConnection
El valor por defecto es false.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?loadBalanced=true");
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. El valor por defecto es 0.
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.
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?srvMaxHosts=5");
Nombre de la aplicación
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 establece la conexión. El valor también se registra en los registros de query lentas y en las colecciones de perfiles. El valor por defecto está vacío.
mongoc_uri_set_option_as_utf8(uri, MONGOC_URI_APPNAME, "yourAppName");
loadBalanced
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
SrvMaxHostsNo estás utilizando la propiedad
DirectConnection
El valor por defecto es false.
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_LOADBALANCED, true);
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. El valor por defecto es 0.
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.
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SRVMAXHOSTS, 5);
Información Adicional
Para obtener más información sobre los tipos utilizados en esta página, consulte la siguiente documentación de la API: