Docs Menu
Docs Home
/ /

Conéctese a MongoDB

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.

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

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

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).

Las siguientes pestañas muestran 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, consulte Habilitar TLS en la guía de configuración de TLS.

Las siguientes pestañas muestran cómo deshabilitar 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 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.

Volver

Instalación personalizada

En esta página