Overview
Esta página contiene ejemplos de código que muestran cómo utilizar el controlador C para conectar su aplicación a MongoDB especificando varias configuraciones.
Tip
Opciones de conexión
Para obtener más información sobre las opciones de conexión de esta página, consulta el enlace proporcionado en cada sección.
Para utilizar un ejemplo de conexión de esta página, copie el ejemplo de código en el
Aplicación de ejemplo o su propia aplicación. Asegúrese de reemplazar todos los marcadores de posición en los ejemplos de código, como
<hostname>, con los valores relevantes para su implementación de MongoDB.
Aplicación de muestra
Puede utilizar la siguiente aplicación de muestra para probar los ejemplos de código en esta página. Para usar la aplicación de muestra, siga los siguientes pasos:
Asegúrate de tener instalado el controlador C.
Copia el siguiente código y pégalo en un nuevo archivo
.c.Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.
1 2 3 4 int main(void) { 5 6 mongoc_uri_t* uri = NULL; 7 mongoc_client_t *client = NULL; 8 mongoc_database_t *database = NULL; 9 bson_t *ping = NULL, reply = BSON_INITIALIZER; 10 bson_error_t error; 11 12 mongoc_init(); 13 14 // Start example code here 15 16 // End example code here 17 18 if (!client) { 19 fprintf(stderr, "client initialization failure\n"); 20 goto cleanup; 21 } 22 23 database = mongoc_client_get_database(client, "admin"); 24 25 ping = BCON_NEW("ping", BCON_INT32(1)); 26 27 if (!mongoc_client_command_simple(client, "admin", ping, NULL, &reply, &error)) { 28 fprintf(stderr, "%s\n", error.message); 29 goto cleanup; 30 } 31 printf("Pinged your deployment. You successfully connected to MongoDB!\n"); 32 33 cleanup: 34 bson_destroy(&reply); 35 bson_destroy(ping); 36 mongoc_database_destroy(database); 37 mongoc_client_destroy(client); 38 mongoc_uri_destroy(uri); 39 mongoc_cleanup(); 40 }
Conexión
Las siguientes secciones describen cómo conectarse a diferentes destinos, como una instancia local de MongoDB o una instancia alojada en la nube en Atlas.
Implementación local
El siguiente código muestra la cadena de conexión para conectarse a una instancia local de MongoDB:
client = mongoc_client_new("mongodb://localhost:27017");
Para obtener más información sobre cómo conectarse a implementaciones locales, consulte Implementaciones locales en la guía Elegir un destino de conexión.
Atlas
El siguiente código muestra la cadena de conexión para conectar con una implementación alojada en Atlas:
client = mongoc_client_new("mongodb+srv://<db_username>:<db_password>@<hostname>/?<options>");
Para aprender más sobre cómo conectarse a Atlas, consulte Atlas en la guía Seleccionar el destino de la conexión.
Set de réplicas
El siguiente código muestra la cadena de conexión para conectarse a un conjunto de réplicas:
client = mongoc_client_new("mongodb+srv://<replica-set-member>/?replicaSet=<replica_set_name>");
Para obtener más información sobre cómo conectarse a conjuntos de réplicas, consulte Conjuntos de réplicas en la guía Elegir un destino de conexión.
Capa de seguridad de transporte (TLS)
Las siguientes secciones describen cómo conectarse a MongoDB mientras se habilita el protocolo TLS.
Para obtener más información sobre el uso de TLS con el controlador C, consulte Configurar la seguridad de la capa de transporte (TLS).
Habilitar TLS
Las siguientes pestañas muestran cómo habilitar TLS en una conexión:
Para obtener más información sobre cómo habilitar TLS, consulte Habilitar TLS en la guía de configuración de TLS.
Deshabilitar la verificación del nombre de host
Las siguientes pestañas muestran cómo deshabilitar la verificación del nombre de host al conectarse mediante TLS:
Para obtener más información sobre cómo deshabilitar la verificación del nombre de host, consulte Verificación del certificado del servidor en la guía de configuración de TLS.
Compresión de la red
Las siguientes secciones describen cómo conectarse a MongoDB especificando los algoritmos de compresión de red.
Algoritmos de compresión
Las siguientes pestañas demuestran cómo especificar todos los compresores disponibles al conectarse a MongoDB:
Nivel de compresión de zlib
Las siguientes pestañas demuestran cómo especificar un nivel de compresión para el compresor zlib:
Selección de servidores
El siguiente código muestra una cadena de conexión que especifica una función de selección de servidor:
client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?server_selector=<selector_function>");
Para obtener más información sobre cómo personalizar la selección de servidores, consulte la sección Configurar operaciones de lectura y escritura de la guía Bases de datos y colecciones.
Stable API
El siguiente código muestra cómo especificar la configuración de API estable dentro de una instancia mongoc_client_t:
client = mongoc_client_new("mongodb+srv://<db_username>:<db_password>@<hostname>/?<options>"); // Set the version of the Stable API on the client mongoc_server_api_t *api = mongoc_server_api_new(MONGOC_SERVER_API_V1); mongoc_client_set_server_api(client, api, &error); // Do database work here mongoc_server_api_destroy(api);
Para obtener más información sobre la Stable API, consulta Stable API.