AnnuncioTi presentiamo MongoDB 8.0, il MongoDB più veloce di sempre! Leggi >
AnnuncioVoyage AI si unisce a MongoDB per potenziare applicazioni AI più accurate e affidabili su Atlas. Scopra di più >

C++ e MongoDB

C++ è un linguaggio di programmazione robusto e ad alte prestazioni, acclamato per la sua efficienza, versatilità e diffusione. Data la popolarità di MongoDB e C++, non sorprende che funzionino bene insieme. Che tu stia sviluppando su un'installazione di MongoDB locale o on-premise, o che tu stia preferendo il cloud con MongoDB Atlas, il driver C++ di MongoDB semplifica l'integrazione di MongoDB nel tuo processo di sviluppo.

Stai cercando di scoprire quale database utilizzare con l'applicazione C++ che stai sviluppando? Immergiti in questa guida per esplorare la perfetta integrazione di C++ con MongoDB, sfruttando i punti di forza del C++ insieme alla flessibilità e scalabilità del sistema di database di MongoDB.

Sommario

Perché usare MongoDB con C++

MongoDB occupa il primo posto come tecnologia di database NoSQL più popolare. È un database di documenti utilizzato per creare applicazioni altamente disponibili e scalabili. Fondata nel 2007, MongoDB ha un seguito mondiale nella comunità degli sviluppatori. MongoDB si è sempre concentrato sul fornire agli sviluppatori un'esperienza utente eccellente, il che, oltre a tutte le altre funzionalità, ha reso MongoDB uno dei preferiti dagli sviluppatori di tutto il mondo. Gli sviluppatori C++ possono trarre notevoli vantaggi dall'utilizzo di MongoDB per diversi motivi:

  • Schema flessibile: a differenza di SQL, il modello di documento di MongoDB consente a diversi documenti di una raccolta di avere dati strutturati diversi. Questa flessibilità si allinea bene con la natura dinamica del C++ e può aumentare la produttività consentendo modifiche nel layout dei dati senza dover modificare l'intero modello di dati.
  • Prestazioni: MongoDB ha il supporto integrato per il partizionamento orizzontale e la replica, offrendo alta disponibilità, scalabilità orizzontale e distribuzione geografica. Ciò lo rende la scelta ideale per le applicazioni C++ che richiedono robustezza e prestazioni elevate.
  • Scalabilità: MongoDB è progettato per una facile scalabilità orizzontale, che comporta l'aggiunta di più server per la tua applicazione. Al contrario, i database SQL si basano in genere sulla scalabilità verticale (hardware più potente), che può presentare limitazioni.
  • Facilità d'uso: MongoDB fornisce un'API molto semplice e intuitiva per le operazioni CRUD, che può essere facilmente utilizzata con il driver C++ di MongoDB. I documenti simili a JSON utilizzati in MongoDB vengono mappati direttamente ai tipi di dati in C++, fornendo un ambiente naturale di manipolazione dei dati.

Se stai creando qualcosa di nuovo e hai bisogno di un database, prendi in considerazione l'utilizzo di MongoDB Atlas fin dall'inizio. Atlas ti offrirà un servizio di database nativo per il cloud completamente gestito che include una serie di funzionalità, tra cui ricerca full-text, ricerca vettoriale, grafici, integrazioni con i partner e molto altro.

Curiosità: il database MongoDB è scritto in linguaggio C++!

Introduzione a MongoDB e C++

Per iniziare a utilizzare MongoDB con la tua applicazione C++, devi installare il driver MongoDB C++, che funge da interfaccia tra MongoDB e la tua applicazione C++. Il driver è anche noto come mongocxx o mongo-cxx-driver.

Sono disponibili diverse opzioni per installare il driver C++ di MongoDB:

Consulta la documentazione dettagliata nella pagina di installazione che copre tutti i metodi sopra indicati. È inoltre disponibile una guida dettagliata per la creazione e l'installazione dal sorgente su Windows. Abbiamo anche un video tutorial di 10 minuti per iniziare.

Puoi impostare il driver C++ di MongoDB con l'IDE che preferisci, come Visual Studio, Visual Studio Code o CLion. L'installazione del driver C++ include anche un pacchetto CMake config-file, quindi è possibile utilizzare il comando find_package di CMake per importare la destinazione CMake del driver C++ e collegarsi al driver C++ (come libreria condivisa).

Creazione del tuo primo cluster Atlas

Una volta impostato il driver C++, avrai bisogno di un database.

Puoi creare un account e creare un cluster di livello gratuito su MongoDB Atlas seguendo questa guida. Ti mostrerà anche come inserire dati di esempio.

Connessione al cluster Atlas

Dopo la sezione precedente, dovresti avere un nuovo cluster MongoDB distribuito in Atlas, un nuovo utente e una nuova password del database e alcuni set di dati di esempio caricati nel tuo cluster.

Ora è il momento di connettersi a un database utilizzando il driver. Per stabilire una connessione al database, il driver necessita di istruzioni su come connettersi. Queste istruzioni sono denominate string di connessione. Puoi ottenere la string di connessione per il cluster e il nome utente creati nel passaggio precedente accedendo al tuo account Atlas, accedendo alla sezione Database e facendo clic su "Connetti".

Verrà visualizzato un popup in cui ti verrà chiesto di selezionare il driver e la versione. Dopo aver popolato entrambi i menu a discesa, è possibile utilizzare la stringa di connessione al database risultante (che inizierà con "mongdb+srv:// ") per connettersi al cluster. Tieni presente che dovrai scambiare i valori per il tuo nome utente e password!

Puoi utilizzare questa string di connessione per eseguire query sul tuo cluster MongoDB dalla tua applicazione. Puoi trovare una serie di istruzioni più approfondite per recuperare la stringa di connessione qui. Il codice di esempio per connettersi al cluster MongoDB Atlas ed eseguire un comando ping è condiviso di seguito:

 

C++

 

Documenti e tabella

A differenza dei database SQL, MongoDB archivia le informazioni in documenti e tabelle.

"documents"

MongoDB archivia i record di dati come documenti BSON. BSON è una rappresentazione binaria di documenti JSON, sebbene contenga più tipi di dati rispetto a JSON. I documenti sono composti da coppie campo-valore, con la seguente struttura:

 

Python

 

I valori associati ai campi possono essere qualsiasi tipo di dati BSON, inclusi altri documenti, array e persino array di documenti. I nomi dei campi stessi sono stringhe.

I documenti sono molto più flessibili rispetto alle righe standard nei relational database, in quanto forniscono uno schema dinamico anziché forzato (sebbene sia possibile eseguire la convalida dello schema con MongoDB, se lo si desidera).

Raccolte

MongoDB archivia i documenti in tabelle. Una tabella è come una relational database. Per ulteriori dettagli su come creare una raccolta e altre informazioni sulle raccolte, è possibile consultare la documentazione qui.

Operazioni CRUD

Le operazioni CRUD (creazione, lettura, aggiornamento ed eliminazione) sono le quattro operazioni di base che potresti voler eseguire con un database. Nel caso di MongoDB, è possibile utilizzare le operazioni CRUD per inserire documenti, scrivere query per documenti corrispondenti, aggiornare documenti ed eliminare documenti. Puoi farlo utilizzando MQL, il linguaggio di query di MongoDB. A differenza delle istruzioni SQL, MQL utilizza la stessa sintassi dei documenti, rendendolo intuitivo e facile da usare anche per query avanzate.

Un tutorial completo sul database C++ e un codice di esempio per ciascuna delle quattro operazioni CRUD che utilizzano il driver C++ sono disponibili nel Centro per sviluppatori di MongoDB e nella documentazione.

Come ottenere assistenza

La parte migliore dell'utilizzo di MongoDB è la vivace comunità che include utenti con tutti i livelli di esperienza con il driver C++. Il modo migliore per ottenere supporto per domande di carattere generale è utilizzare i forum della community di MongoDB.

Se riscontri un errore imprevisto, pensi di aver trovato un bug nel driver C++ o hai una richiesta di funzionalità, apri un ticket JIRA nel progetto CXX.

I ticket creati in JIRA sia per il driver C++ che per il Core Server sono pubblici per impostazione predefinita.

Puoi anche sollevare richieste di funzionalità su MongoDB Feedback e ottenere supporto ottenendo voti positivi sull'idea.

Risorse

Domande frequenti

Primi passi con MongoDB Atlas

Prova gratuita