Overview
Esta página contiene ejemplos de código que muestran cómo conectar tu 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 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 tu 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.Copia un ejemplo de código de esta página y pégalo en 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 Objetivos de conexión.
Implementación local
El siguiente código muestra cómo conectarse a una implementación de MongoDB local:
mongocxx::uri uri("mongodb://localhost:27017/"); mongocxx::client client(uri);
Para conocer más sobre la conexión a una implementación local, consulte Implementaciones locales en la guía de Objetivos 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 set de réplicas, consulta Sets de réplicas en la guía Objetivos 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 tu 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, consulta Habilitar TLS en la guía de configuración de TLS.
Especificar un archivo de Autoridad Certificadora (CA)
El siguiente código muestra cómo especificar la ruta a tu archivo CA para la conexión a tu instancia de MongoDB:
Para aprender más sobre cómo especificar un archivo CA, consulte Especificar un archivo CA en la guía de configuración de TLS.
Desactivar comprobaciones OCSP
El siguiente código muestra cómo evitar que el controlador contacte 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 desactivar las verificaciones OCSP, consulta OCSP en la guía de configuración TLS.
Especifica 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 la 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.
Proporcione una contraseña de archivo de clave de certificado
El siguiente código muestra cómo especificar la contraseña para tu certificado de cliente:
Para obtener más información sobre cómo proporcionar una contraseña de archivo de clave, consulta Proporcionar una contraseña de clave en la guía de configuración de TLS.
Permitir TLS no seguro
El siguiente código muestra cómo desactivar la verificación de certificados:
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, consulta Permitir TLS inseguro en la guía de configuración de TLS.
Desactivar la validación de certificados
El siguiente código muestra cómo desactivar la validación de certificados:
Para obtener más información sobre cómo desactivar la validación de certificados, consulta Permitir TLS Inseguro en la guía de configuración de TLS.
Desactivar 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 la desactivación de la verificación del hostname, consulta 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 Stable API para la conexión a tu 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 Stable API, consulta la guía de Stable API.