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
/ /

Conéctese a MongoDB

Esta página contiene ejemplos de código que muestran cómo usar el driver de C para conectar tu aplicación a MongoDB especificando varios ajustes.

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 usar un ejemplo de conexión de esta página, copia el ejemplo de código en el aplicación de muestra 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.

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:

  1. Asegúrate de tener instalado el controlador C.

  2. Copia el siguiente código y pégalo en un nuevo archivo .c.

  3. Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.

1#include <mongoc/mongoc.h>
2#include <bson/bson.h>
3
4int 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}

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.

El siguiente código muestra la cadena de conexión para conectar con una instancia local de MongoDB:

client = mongoc_client_new("mongodb://localhost:27017");

Para aprender más sobre la conexión a implementaciones locales, consulta Implementaciones locales en la guía Elegir un destino de conexión.

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.

El siguiente código muestra la cadena de conexión para conectarse a un set 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.

Las siguientes secciones describen cómo conectar con 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).

Las siguientes pestañas demuestran cómo habilitar TLS en una conexión:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?tls=true");
uri = mongoc_uri_new("mongodb://localhost:27017");
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true);
client = mongoc_client_new_from_uri(uri);

Para obtener más información sobre cómo habilitar TLS, consulta Habilitar TLS en la guía de configuración de TLS.

Las siguientes pestañas demuestran cómo desactivar la verificación del nombre de host al conectarse mediante TLS:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?tls=true&tlsAllowInvalidHostnames=true");
uri = mongoc_uri_new("mongodb://localhost:27017");
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLS, true);
mongoc_uri_set_option_as_bool(uri, MONGOC_URI_TLSALLOWINVALIDHOSTNAMES, true);
client = mongoc_client_new_from_uri(uri);

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.

Las siguientes secciones describen cómo conectarse a MongoDB especificando los algoritmos de compresión de red.

Las siguientes pestañas demuestran cómo especificar todos los compresores disponibles al conectarse a MongoDB:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=snappy,zlib,zstd");
uri = mongoc_uri_new("mongodb://localhost:27017");
mongoc_uri_set_compressors(uri, "snappy,zlib,zstd");
client = mongoc_client_new_from_uri(uri);

Las siguientes pestañas demuestran cómo especificar un nivel de compresión para el compresor zlib:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=zlib&zlibCompressionLevel=<zlib_compression_level");
uri = mongoc_uri_new("mongodb://localhost:27017");
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_ZLIBCOMPRESSIONLEVEL, <zlib-compression-level>);
client = mongoc_client_new_from_uri(uri);

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.

El siguiente código muestra cómo especificar la configuración de Stable API 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.

Volver

Instalación personalizada

En esta página