Overview
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.
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 driver C++ en una ubicación desde la que tu Proyecto pueda importarlo.
Copie el siguiente código y péguelo en un nuevo archivo
.cppdentro de su proyecto.Copie un ejemplo de código de esta página y péguelo dentro de la sección resaltada del archivo.
1 2 3 4 5 6 7 8 9 10 int 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 }
Conexión
Atlas
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.
Implementación local
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.
Set de réplicas
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.
Capa de seguridad de transporte (TLS)
Habilitar TLS
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.
Especificar un archivo de autoridad de certificación (CA)
El siguiente código muestra cómo especificar la ruta a su archivo CA para la conexión a su instancia de MongoDB:
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.
Deshabilitar comprobaciones de OCSP
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.
Especificar una lista de revocación de certificados (CRL)
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.
Presentar un Certificado de Cliente
El siguiente código muestra cómo especificar el certificado de cliente que el controlador presenta a su implementación de MongoDB:
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.
Proporcionar una contraseña para el archivo de clave de certificado
El siguiente código muestra cómo especificar la contraseña para su certificado de cliente:
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.
Permitir TLS inseguro
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.
Deshabilitar la validación del certificado
El siguiente código muestra cómo deshabilitar la validación del certificado:
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.
Deshabilitar la verificación del nombre de host
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.
Compresión de la red
Algoritmos de compresión
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.
Nivel de compresión de zlib
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.
Stable API
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.