Docs Menu
Docs Home
/ /

Conéctese a MongoDB

Esta página contiene ejemplos de código que muestran cómo conectar su aplicación C++ a MongoDB con varias configuraciones.

Tip

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 driver C++ en una ubicación desde la que tu Proyecto pueda importarlo.

  2. Copie el siguiente código y péguelo en un nuevo archivo .cpp dentro de su proyecto.

  3. Copie un ejemplo de código de esta página y péguelo dentro de la sección resaltada del archivo.

1#include <bsoncxx/json.hpp>
2
3#include <mongocxx/client.hpp>
4#include <mongocxx/exception/exception.hpp>
5#include <mongocxx/instance.hpp>
6#include <mongocxx/uri.hpp>
7
8#include <iostream>
9
10int main()
11{
12 mongocxx::instance instance;
13
14 try
15 {
16 // Start example code here
17
18 // End example code here
19
20 auto admin = client["admin"];
21 admin.run_command(bsoncxx::from_json(R"({ "ping": 1 })"));
22
23 std::cout << "Successfully pinged the MongoDB server." << std::endl;
24 }
25 catch (const mongocxx::exception &e)
26 {
27 std::cout << "An exception occurred: " << e.what() << std::endl;
28 return EXIT_FAILURE;
29 }
30
31 return EXIT_SUCCESS;
32}

El siguiente código muestra cómo conectarse a una implementación de MongoDB Atlas:

mongocxx::uri uri("<Atlas connection string>");
mongocxx::client client(uri);

Para obtener más información sobre cómo conectarse a una implementación de Atlas, consulte Atlas en la guía de objetivos de conexión.

El siguiente código muestra cómo conectarse a una implementación local de MongoDB:

mongocxx::uri uri("mongodb://localhost:27017/");
mongocxx::client client(uri);

Para obtener más información sobre cómo conectarse a una implementación local, consulte Implementaciones locales en la guía Destinos de conexión.

El siguiente código muestra cómo conectarse a una implementación de conjunto de réplicas:

mongocxx::uri uri("mongodb://<replica set member>:<port>/?replicaSet=<replica set name>");
mongocxx::client client(uri);

Para obtener más información sobre cómo conectarse a un conjunto de réplicas, consulte Conjuntos de réplicas en la guía Destinos de conexión.

El siguiente código muestra cómo habilitar TLS para la conexión a su instancia de MongoDB:

mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true");
mongocxx::client client(uri);

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

El siguiente código muestra cómo especificar la ruta a su archivo CA para la conexión a su instancia de MongoDB:

mongocxx::options::client client_options;
mongocxx::options::tls tls_options;
tls_options.pem_file("/path/to/file.pem");
client_options.tls_opts(tls_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true");
mongocxx::client client(uri, client_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsCAFile=/path/to/file.pem");

Para obtener más información sobre cómo especificar un archivo CA, consulte Especificar un archivo CA en la guía de configuración de TLS.

El siguiente código muestra cómo evitar que el controlador se comunique con el punto final OCSP:

mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsDisableOCSPEndpointCheck=true");
mongocxx::client client(uri);

Para obtener más información sobre cómo deshabilitar las comprobaciones de OCSP,consulte OCSP en la guía de configuración de TLS.

El siguiente código muestra cómo instruir al controlador para verificar el certificado del servidor contra una CRL:

mongocxx::options::client client_options;
mongocxx::options::tls tls_options;
tls_options.crl_file("<path to your CRL file>");
client_options.tls_opts(tls_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true");
mongocxx::client client(uri, client_options);

Para obtener más información sobre cómo especificar una CRL, consulta Lista de revocación de certificados en la guía de configuración TLS.

El siguiente código muestra cómo especificar el certificado de cliente que el controlador presenta a su implementación de MongoDB:

mongocxx::options::client client_options;
mongocxx::options::tls tls_options;
tls_options.pem_file("/path/to/file.pem");
client_options.tls_opts(tls_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true");
mongocxx::client client(uri, client_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsCertificateKeyFile=/path/to/file.pem");

Para obtener más información sobre cómo especificar un certificado de cliente, consulte Presentar un certificado de cliente en la guía de configuración de TLS.

El siguiente código muestra cómo especificar la contraseña para su certificado de cliente:

mongocxx::options::client client_options;
mongocxx::options::tls tls_options;
tls_options.pem_file("/path/to/file.pem");
tls_options.pem_password("<password>");
client_options.tls_opts(tls_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true");
mongocxx::client client(uri, client_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsCertificateKeyFile=/path/to/file.pem&tlsCertificateKeyFilePassword=<password>");

Para obtener más información sobre cómo proporcionar una contraseña de archivo clave, consulte Proporcionar una contraseña de clave en la guía de configuración de TLS.

El siguiente código muestra cómo deshabilitar la verificación del certificado:

mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsInsecure=true");
mongocxx::client client(uri);

Para obtener más información sobre cómo permitir TLS inseguro, consulte Permitir TLS inseguro en la guía de configuración de TLS.

El siguiente código muestra cómo deshabilitar la validación del certificado:

mongocxx::options::client client_options;
mongocxx::options::tls tls_options;
tls_options.allow_invalid_certificates(true);
client_options.tls_opts(tls_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true");
mongocxx::client client(uri, client_options);
mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsAllowInvalidCertificates=true");

Para obtener más información sobre cómo deshabilitar la validación de certificados, consulte Permitir TLS inseguro en la guía de configuración de TLS.

El siguiente código muestra cómo deshabilitar la verificación del nombre de host:

mongocxx::uri uri("mongodb://<hostname>:<port>/?tls=true&tlsAllowInvalidHostnames=true");
mongocxx::client client(uri);

Para obtener más información sobre cómo deshabilitar la verificación del nombre de host, consulte Permitir TLS inseguro en la guía de configuración de TLS.

El siguiente código muestra cómo habilitar la compresión para la conexión a su instancia de MongoDB especificando cada algoritmo de compresión:

mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib");
mongocxx::client client(uri);

Para obtener más información sobre cómo especificar algoritmos de compresión, consulta Especificar algoritmos de compresión en la guía de Compresión de Red.

El siguiente código muestra cómo especificar el algoritmo de compresión zlib y establecer su nivel de compresión:

mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1");
mongocxx::client client(uri);

Para obtener más información sobre cómo configurar el nivel de compresión zlib, consulta Especificar algoritmos de compresión en la guía de Compresión de red.

El siguiente código muestra cómo habilitar la API estable para la conexión a su instancia de MongoDB:

mongocxx::uri uri("<connection string>");
mongocxx::options::client client_options;
mongocxx::options::server_api server_api_options(mongocxx::options::server_api::version::k_version_1);
client_options.server_api_opts(server_api_options);
mongocxx::client client(uri, client_options);

Para obtener más información sobre la API estable, consulte la guía de la API estable.

Volver

Empezar