Overview
Esta página describe las opciones de conexión disponibles en el controlador C y explica cómo especificarlas para su conexión a MongoDB mediante una cadena de conexión o una opción URI.
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 pasas una cadena de conexión a la estructura monogoc_client_t, puedes incluir opciones de conexión en la cadena como pares <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 aprender más sobre las opciones que puedes especificar en una cadena de conexión, consulta Opciones de cadena de conexión en el manual del MongoDB Server.
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 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 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 en el manual del servidor MongoDB.
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:
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 conectarse.
Tipo de dato: char*
Valor por defecto: NULL
Ejemplo:
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 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 en el manual del servidor MongoDB.
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:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_DIRECTCONNECTION, true);
Set de réplicas
El nombre del set de réplicas al que conectarse.
Tipo de dato: char*
Valor por defecto: NULL
Ejemplo:
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.
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true");
Permitir TLS no seguro
Especifica si se deben flexibilizar las restricciones de TLS tanto como sea posible. Esto puede incluir permitir certificados no válidos o discrepancias en el nombre de host.
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&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 protocolo de enlace TLS.
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?tls=true&tlsDisableCertificateRevocationCheck=true");
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.
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true);
Permitir TLS no seguro
Especifica si se deben flexibilizar las restricciones de TLS tanto como sea posible. Esto puede incluir permitir certificados no válidos o discrepancias en el nombre de host.
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
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 protocolo de enlace TLS.
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSDISABLECERTIFICATEREVOCATIONCHECK, true);
Para obtener más información sobre las opciones de TLS, consultar la guía Configurar la seguridad de la 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.
Tipo de dato: integer
Valor por defecto: 10000 (10 segundos)
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: 300000 (5 minutos)
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: 10000 (10 segundos)
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: 300000 (5 minutos)
Ejemplo:
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 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: char*
Valor por defecto: NULL
Ejemplo:
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 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: char*
Valor por defecto: NULL
Ejemplo:
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 driver puede crear en su pool de conexiones. Este recuento incluye las conexiones en uso.
Tipo de dato: integer
Valor por defecto: 100
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: -1 (sin tiempo de espera)
Ejemplo:
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 driver puede crear en su pool de conexiones. Este recuento incluye las conexiones en uso.
Tipo de dato: integer
Valor por defecto: 100
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: 0
Ejemplo:
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.
Tipo de dato: integer or char*
Valor por defecto: 1 or "majority"
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: 0
Ejemplo:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?wTimeoutMS=5000");
Journal
El componente j de la preocupación de escritura, que solicita confirmación de que las instancias de MongoDB han escrito en el registro en disco.
Tipo de dato: boolean
Valor por defecto: false
Para obtener más información sobre la j opción, consulte la sección "Write Concern" en el manual del servidor MongoDB.
Ejemplo:
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.
Tipo de dato: integer or char*
Valor por defecto: 1 or "majority"
Puedes establecer w utilizando la opción MONGOC_URI_W:
Ejemplo:
// 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.
Tipo de dato: integer
Valor por defecto: 0
Puedes establecer wtimeoutms utilizando la opción MONGOC_URI_WTIMEOUTMS:
Ejemplo:
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.
Tipo de dato: boolean
Valor por defecto: false
Puedes establecer journal utilizando la opción MONGOC_URI_JOURNAL:
Ejemplo:
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.
Tipo de dato: char*
Valor por defecto: local
Ejemplo:
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.
Tipo de dato: char*
Valor por defecto: local
Puedes configurar el nivel de consistencia de lectura utilizando la opción MONGOC_URI_READCONCERNLEVEL:
Ejemplo:
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
Configuración predeterminada de preferencias de lectura del cliente. Consulte la sección Preferencias de lectura en el manual del servidor MongoDB para obtener más información.
Tipo de dato: char*
Valor por defecto: primary
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: -1
Ejemplo:
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 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:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?localThresholdMS=150");
preferencia de lectura
Configuración predeterminada de preferencias de lectura del cliente. Consulte la sección Preferencias de lectura en el manual del servidor MongoDB para obtener más información.
Tipo de dato: char*
Valor por defecto: primary
Puedes establecer la preferencia de lectura utilizando una estructura mongoc_read_prefs_t:
Ejemplo:
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.
Tipo de dato: integer
Valor por defecto: -1
Ejemplo:
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 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:
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_LOCALTHRESHOLDMS, 150);
Opciones de autenticación
Mecanismo 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.
Para obtener más información sobre los mecanismos de autenticación disponibles, consulte la guía Mecanismos de autenticación o la guía Mecanismos de autenticación empresarial.
Tipo de dato: char*
Valor por defecto: SCRAM-SHA-256 (para MongoDB 4.0 y posteriores)
Ejemplo:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?authSource=admin&authMechanism=GSSAPI");
Mecanismo 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.
Para obtener más información sobre los mecanismos de autenticación disponibles, consulte la guía Mecanismos de autenticación o la guía Mecanismos de autenticación empresarial.
Tipo de dato: char*
Valor por defecto: SCRAM-SHA-256 (para MongoDB 4.0 y posteriores)
Ejemplo:
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).
Tipo de dato: integer
Valor por defecto: 10000 para clientes agrupados, 60000 para clientes de un solo hilo
Ejemplo:
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 driver intenta seleccionar un servidor antes de agotar el tiempo de espera.
Tipo de dato: integer
Valor por defecto: 30000
Ejemplo:
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 durante este tiempo, el controlador comprueba la conexión con una llamada rápida de "hola" antes de volver a utilizarlo.
Tipo de dato: integer
Valor por defecto: 5000
Ejemplo:
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).
Tipo de dato: integer
Valor por defecto: 10000
Ejemplo:
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_HEARTBEATFREQUENCYMS, 5000);
Tiempo de espera de selección del servidor
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:
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 durante este tiempo, el controlador comprueba la conexión con una llamada rápida de "hola" antes de volver a utilizarlo.
Tipo de dato: integer
Valor por defecto: 5000
Ejemplo:
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_SOCKETCHECKINTERVALMS, 10000);
Opciones de reintentos
retryReads
Activar las lecturas reintentables.
Tipo de dato: boolean
Valor por defecto: true
Ejemplo:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryReads=false");
retryWrites
Activar las escrituras reintentables.
Tipo de dato: boolean
Valor por defecto: true con soporte TLS, false en caso contrario
Ejemplo:
mongoc_uri_t *uri = mongoc_uri_new("mongodb+srv://localhost:27017/?retryWrites=false");
retryReads
Activar las lecturas reintentables.
Tipo de dato: boolean
Valor por defecto: true
Ejemplo:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_RETRYREADS, false)
retryWrites
Activar las escrituras reintentables.
Tipo de dato: boolean
Valor por defecto: true
Ejemplo:
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_RETRYWRITES, false);
Opciones misceláneas
Nombre de la aplicación
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 que establece la conexión. El valor también se registra en los registros de query lentas y en las colecciones de perfiles.
Tipo de dato: char*
Valor predeterminado: vacío
Ejemplo:
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
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
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.
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
Valor por defecto: 0
Ejemplo:
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 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 que establece la conexión. El valor también se registra en los registros de query lentas y en las colecciones de perfiles.
Tipo de dato: char*
Valor por defecto: empty
Ejemplo:
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
Tipo de dato: boolean
Valor por defecto: false
Ejemplo:
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.
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
Valor por defecto: 0
Ejemplo:
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: