Anuncio¡Presentamos MongoDB 8.0, el MongoDB más rápido de la historia! Leer más >
AnuncioVoyage AI se une a MongoDB para potenciar aplicaciones de IA más precisas y confiables en Atlas. Más información >

C++ y MongoDB

C++ es un lenguaje de programación robusto y de alto rendimiento, aclamado por su eficiencia, versatilidad y uso generalizado. Dada la popularidad de MongoDB y C++, no sorprende que funcionen bien juntos. Ya sea que esté desarrollando en una instalación local de MongoDB, o dando prioridad a la cloud con MongoDB Atlas, el controlador MongoDB C++ facilita la integración de MongoDB en su proceso de desarrollo.

¿Está tratando de saber qué base de datos usar con la aplicación C++ que está desarrollando? Sumérjase en esta guía para explorar la integración sin interrupciones de C++ con MongoDB, aprovechando las fortalezas de C++ junto con la flexibilidad y la escalabilidad del sistema de base de datos de MongoDB.

Índice

Por qué usar MongoDB con C++

MongoDB ocupa el primer puesto como la tecnología de base de datos NoSQL más popular. Es una base de datos de documento que se utiliza para compilar aplicaciones escalables y de alta disponibilidad. Fundada en 2007, MongoDB tiene seguidores en todo el mundo en la comunidad de desarrolladores. MongoDB siempre se ha centrado en brindar a los desarrolladores una excelente experiencia de usuario lo que, además de todas sus otras características, ha convertido a MongoDB en una de las favoritas de los desarrolladores de todo el mundo. Los desarrolladores de C++ pueden beneficiarse significativamente del uso de MongoDB por varias razones:

  • Esquema flexible: a diferencia de SQL, el modelo de documento de MongoDB permite que diferentes documentos de una colección tengan diversos datos estructurados. Esta flexibilidad se alinea bien con la naturaleza dinámica de C++ y puede aumentar la productividad al permitir cambios en el diseño de los datos sin tener que modificar todo el modelo de datos.
  • Rendimiento: MongoDB tiene asistencia técnica técnica integrada para la fragmentación y la replicación, lo que ofrece alta disponibilidad, escalamiento horizontal y distribución geográfica. Esto lo convierte en una opción ideal para aplicaciones C++ que requieren solidez y alto rendimiento.
  • Escalabilidad: MongoDB está diseñado para un fácil escalamiento horizontal, lo que implica agregar más servidores para su aplicación. Por el contrario, las bases de datos SQL suelen depender del escalado vertical (hardware más potente), lo que puede presentar limitaciones.
  • Facilidad de uso: MongoDB proporciona una API muy sencilla e intuitiva para las operaciones CRUD, que se pueden usar fácilmente con el controlador MongoDB C++. Los documentos similares a JSON utilizados en MongoDB se asignan directamente a tipos de datos en C++, lo que proporciona un entorno natural de manipulación de datos.

Si está creando algo nuevo y necesita una base de datos, considere usar MongoDB Atlas desde el principio. Atlas le proporcionará un servicio de base de datos nativo de la nube totalmente gestionado que viene con una serie de características, incluyendo búsqueda de texto completo, búsqueda vectorial, gráficos, integraciones de socio y mucho más.

Dato divertido: ¡La base de datos MongoDB está escrita en lenguaje C++ !

Comenzar con MongoDB y C++

Para comenzar a usar MongoDB con su aplicación de C++, debe instalar el controlador de MongoDB C++, que actúa como interfaz entre MongoDB y su aplicación de C++. El controlador también se conoce como mongocxx o mongo-cxx-driver.

Hay varias opciones disponibles para instalar el controlador C++ de MongoDB :

Consulte la documentación detallada en la página de instalación que cubre todos los métodos anteriores. También está disponible una guía paso a paso sobre la compilación e instalación desde el origen en Windows. También tenemos un video tutorial de 10 minutos para que comiences.

Puede establecer el controlador de MongoDB C++ con el IDE de su elección, como Visual Studio, Visual Studio Code o CLion. La instalación del controlador de C++ también incluye un paquete de archivos de configuración de CMake, por lo que puede usar el comando find_package de CMake para importar el destino de CMake del controlador de C++ y vincularlo al controlador de C++ (como biblioteca compartida).

Crear su primer clúster de Atlas

Una vez que el controlador de C++ esté establecer , necesitará una base de datos.

Puede crear una cuenta y crear un cluster de nivel gratuito en MongoDB Atlas siguiendo esta guía. También le mostrará cómo insertar datos de muestra.

Conectarse a su clúster Atlas

Después de la sección anterior, debería tener un nuevo clúster MongoDB implementado en Atlas, un nuevo usuario de base de datos y contraseña, y algunos conjuntos de datos de muestra cargados en su clúster.

Ahora, es el momento de conectarse a una base de datos usando su controlador. Para establecer una conexión de base de datos, su controlador necesita instrucciones sobre cómo conectarse. Estas instrucciones se denominan cadena de conexión. Puede obtener su cadena de conexión para el clúster y el nombre de usuario que creó en el paso anterior ingresando a su cuenta Atlas, navegando a la sección base de datos y haciendo clic en “Conectar”.

Aparecerá una ventana emergente para pedirle que seleccione el controlador y la versión. Una vez que haya completado estos dos menús desplegables, puede usar la cadena de conexión de la base de datos resultante (comenzará con mongdb+srv:// ) para conectarse a su cluster. Tenga en cuenta que deberá cambiar los valores de su propio nombre de usuario y contraseña.

Puede utilizar esta cadena de conexión para ejecutar queries en su clúster de MongoDB desde su aplicación. Puede encontrar un establecer de instrucciones más detalladas para obtener la cadena de conexión aquí. A continuación se comparte un código de ejemplo para conectarse al cluster de MongoDB Atlas y ejecutar un comando ping:

 

C++

 

Documentos y colección

A diferencia de las bases de datos SQL, MongoDB almacena información en documentos y colecciones.

Documentos

MongoDB almacena registros de datos como documentos BSON. BSON es una representación binaria de documentos JSON , aunque contiene más tipos de datos que JSON. Los documentos están compuestos por pares campo-valor, con la siguiente estructura:

 

Python

 

Los valores asociados a los campos pueden ser cualquier tipo de datos BSON, incluidos otros documentos, matrices e incluso matrices de documentos. Los propios nombres de campo son cadenas.

Los documentos son mucho más flexibles que las filas estándar en las bases de datos relacionales, ya que le brindan un esquema dinámico en lugar de uno obligatorio (aunque puede realizar la validación de esquema con MongoDB si lo desea).

Colecciones

MongoDB almacena documentos en colecciones. Una colección es como una tabla en una Base de datos relacional. Para obtener más detalles sobre cómo crear una collection y otra información sobre las colecciones, puede consultar la documentación aquí.

Operaciones CRUD

Las operaciones CRUD (crear, leer, actualizar y borrar) son las cuatro operaciones básicas que tal vez desee realizar con una base de datos. En el caso de MongoDB, puede utilizar las operaciones CRUD para insertar documentos, guardar consultas para documentos coincidentes, actualizar documentos y borrar documentos. Puede hacerlo utilizando MQL, el lenguaje de consultas de MongoDB. A diferencia de las instrucciones SQL , MQL utiliza la misma sintaxis que los documentos, lo que lo hace intuitivo y fácil de usar incluso para las consultas avanzadas.

Puede encontrar un tutorial completo sobre la base de datos C++ , así como un código de ejemplo para cada una de las cuatro operaciones CRUD que utilizan el controlador C++, en el Centro de desarrolladores de MongoDB y la documentación.

Cómo obtener ayuda

La mejor parte de usar MongoDB es la vibrante comunidad que incluye usuarios de todos los niveles de experiencia con el controlador C++ . La mejor forma de obtener asistencia técnica para preguntas generales es utilizar los foros de la comunidad de MongoDB.

Si se encuentra con un error inesperado, cree que ha encontrado un error en el controlador C++ o tiene una solicitud de característica , abra un ticket de JIRA en el proyecto CXX.

Los tickets creados en JIRA tanto para el controlador C++ como para el servidor Core son públicos por defecto.

También puede presentar solicitudes de característica en MongoDB Feedback y obtener asistencia técnica obteniendo votos a favor sobre la idea.

Recursos

Preguntas frecuentes

Primeros pasos con MongoDB Atlas

Prueba gratuita