Tutorial MongoDB per principianti: impara MongoDB in semplici passaggi
Pubblicato: 2022-08-31MongoDB è un database di documenti e un database NoSQL leader che è open source. È scritto in C++ ed è un database NoSQL orientato ai documenti utilizzato per l'archiviazione di dati ad alto volume, la gestione e la distribuzione di contenuti, le infrastrutture mobili e sociali, la gestione dei dati degli utenti, ecc.
Consiste in un modello di dati che consente di rappresentare relazioni gerarchiche. Si basa su documenti simili a JSON con schema opzionale e non utilizza righe e tabelle come quelle utilizzate nei database relazionali tradizionali. I documenti con coppie chiave-valore sono le unità di dati fondamentali in MongoDB.
MongoDB memorizza i dati in formato JSON. La sua elevata richiesta si basa principalmente sul suo indice su qualsiasi attributo, replica e disponibilità elevata, partizionamento orizzontale automatico, query avanzate, aggiornamenti rapidi sul posto e supporto avanzato della community. Immergiamoci nel tutorial sulle query mongodb.
Caratteristiche di MongoDB
L'usabilità di questo database orientato ai dati dipende da alcune caratteristiche integrali di Mongo DB:-
- Ogni database è costituito da raccolte che contengono ulteriori documenti. Questi documenti, le loro dimensioni e il loro contenuto possono differire in base a diversi numeri di campi.
- La struttura del documento si basa sul modo in cui gli sviluppatori creano classi e oggetti nei loro programmi.
- Le righe non richiedono uno schema predefinito, poiché puoi creare i campi in movimento.
- Con il modello di dati MongoDB, puoi rappresentare relazioni gerarchiche per l'archiviazione di array e altre strutture complesse.
- Gli ambienti MongoDB sono molto scalabili.
- Gli oggetti dell'applicazione non devono essere convertiti o mappati agli oggetti del database.
- La memoria interna memorizza il working set finestrato che consente un accesso più semplice ai dati.
- La struttura di un singolo oggetto è chiara.
- Non ci sono join complessi.
- La sua profonda capacità di query supporta query dinamiche sui documenti.
Inoltre, dai un'occhiata al nostro corso di scienza dei dati per migliorare le tue competenze.
Cose che devi sapere su MongoDB e RDBMS
MongoDB è un database multipiattaforma orientato ai documenti che offre prestazioni elevate, scalabilità efficace e disponibilità elevata. Funziona in base a Documento e Collezione. Ogni database in MongoDB ha il suo insieme distinto di file e, idealmente, un singolo server MongoDB ha numerosi database.
D'altra parte, una Collection è un gruppo di documenti MongoDB equivalenti alla tabella RDBMS. Esiste all'interno di un singolo database e non impone uno schema. I documenti all'interno di una raccolta possono avere vari campi e tutti i documenti all'interno di una raccolta hanno scopi correlati o simili. Un insieme di coppie chiave-valore è chiamato Documenti con uno schema dinamico, in cui i documenti nella stessa raccolta non devono necessariamente avere lo stesso insieme di struttura o campi.
Troverai la relazione della terminologia RDBMS con MongoDB nella tabella seguente.
RDBMS | MongoDB |
Banca dati | Banca dati |
Tupla | Documento |
Tavolo | Collezione |
Unisci la tabella | Documenti incorporati |
colonna | Campo |
Chiave primaria | Chiave primaria (MongoDB offre la chiave predefinita _id) |
Server di database e client | |
mysqld/Oracle | mongo |
mysql/sqlplus | mongo |
Differenza tra i database MongoDB e SQL
MongoDB è più flessibile di SQL e offre una migliore disponibilità dei dati. È anche portatile ed estensibile. I database SQL sono noti per la loro durata e coerenza. Pertanto, la migliore soluzione di database dipende dal tipo di progetto in cui si è coinvolti.
MongoDB è migliore per le pipeline di sviluppo, mentre i database SQL sono ottimi per transazioni di dati organizzative affidabili. MongoDB è ottimo per elaborare e lavorare con dati non strutturati. Questo database NoSQL è una delle migliori alternative per l'alimentazione di pipeline di dati e per applicazioni, come l'analisi in tempo reale.
MongoDB è ottimo per lavorare con dispositivi IoT e applicazioni mobili/web. Sta rapidamente diventando la scelta preferita per gli sviluppatori di tutto il mondo grazie alla sua flessibilità e capacità di scalare senza intoppi.
Mentre i database SQL sono ottimi per lavorare con dati strutturati, scienza dei dati e per attività organizzative avanzate, MongoDB soddisfa i requisiti degli sviluppatori e delle aziende moderne attraverso lo sviluppo efficace di software o servizi online.
Esempi di come utilizzare MongoDB
Memorizzazione di strutture di dati nidificate
La capacità di annidare oggetti all'interno dei documenti è una delle maggiori caratteristiche di MongoDB. Per incorporare i dati all'interno dei documenti, gli sviluppatori strutturano i dati in MongoDB anziché suddividerli in varie raccolte.
Ecco un esempio:-
{_id: ObjectId("5effaa5662679b5af2c58829"),
email: "[email protected]",
nome: {dato: “Lily”, famiglia: “Mona”},
età: 31,
indirizzi: [{etichetta: “casa”,
via: “22 1b Baker Street”,
città: “Londra”,
stato: “ITA”,
zip: “NW1 6XE”,
paese: "Regno Unito"},
{etichetta: "mamma",
via: “555 Park Street”,
città: “Città del Lago”,
provincia: “Ontario”,
paese: "CA"}]
}
Il campo del nome è l'oggetto nidificato che ha dato e componenti del cognome nel campo degli indirizzi in cui sono memorizzati più indirizzi in un array. Ogni indirizzo può avere vari campi che facilitano la memorizzazione di altri tipi di dati.
Utilizzo della shell MongoDB
La shell MongoDB viene utilizzata principalmente per la navigazione, la manipolazione e l'ispezione dei dati dei documenti. Quando MongoDB viene eseguito su una macchina locale, l'accensione della shell si connette a MongoDB su localhost sulla porta standard. Assicurati di aggiungere la stringa di connessione dopo il comando mongo se devi connetterti a un cluster MongoDB Atlas o ad un'altra istanza remota.
Di seguito troverai esempi rapidi di shell: -
Elenca raccolte
> usa il mio_database;
> mostra collezioni;
utenti
messaggi
>
Elenca database
> mostra db;
amministratore 0.000 GB
configurazione 0.000 GB
0.000 GB locali
mio_database 0,004 GB
>
Esplora i nostri corsi di scienza dei dati popolari
Programma post-laurea esecutivo in Data Science da IIITB | Programma di certificazione professionale in Data Science per il processo decisionale aziendale | Master of Science in Data Science presso l'Università dell'Arizona |
Programma di certificazione avanzato in Data Science da IIITB | Programma di certificazione professionale in Data Science e Business Analytics presso l'Università del Maryland | Corsi di Data Science |
Trova il primo documento in una raccolta
> db.users.findOne()
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dato: “Anna”, famiglia: “Smith”},
“email”: “[email protected]”
“età”: 36
}
>
Conta documenti in una raccolta
> usa il mio_database;
> db.users.count()
20234
>
Trova un documento per ID
> db.users.findOne({_id: ObjectId(“5ce45d7606444f199acfba1e”)})
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dato: “Anna”, famiglia: “Smith”},
“email”: “[email protected]”,
“età”: 36
}
>
Interrogazione di raccolte MongoDB
La stessa sintassi in MongoDB Query Language (MQL) viene utilizzata nei documenti che possono essere utilizzati nelle query avanzate. Di seguito troverai gli esempi di query MongoDB:
Trova un numero limitato di risultati
> db.users.find().limit(10)
…
>
Trova utenti per cognome
> db.users.find({"name.family": "Smith"}).count()
1
>
Nota che racchiudiamo "nome.famiglia" tra virgolette, perché ha un punto nel mezzo.
Interroga i documenti per intervalli numerici
// Tutti i post con campo "Mi piace" con valore numerico maggiore di uno:
> db.post.find({mi piace: {$gt: 1}})
// Tutti i post con 0 Mi piace
> db.post.find({mi piace: 0})
// Tutti i post che NON hanno esattamente 1 like
> db.post.find({mi piace: {$ne: 1}})
Ordina i risultati per un campo
// ordina per età, in ordine crescente (prima i valori più piccoli)
> db.user.find().sort({età: 1})
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dato: “Alex”, famiglia: “Smith”},
“email”: “[email protected]”,
“età”: 27
}
{
_id: ObjectId ("5effaa5662679b5af2c58829"),
email: "[email protected]",
nome: {dato: “Jesse”, famiglia: “Xiao”},
età: 31
}
>
// ordina per età, in ordine decrescente (prima i valori maggiori)
> db.user.find().sort({età: -1})
{
_id: ObjectId ("5effaa5662679b5af2c58829"),
email: "[email protected]",
nome: {dato: “Lilly”, famiglia: “Mona”},
età: 31
}
{
“_id”: ObjectId(“5ce45d7606444f199acfba1e”),
“nome”: {dato: “Anna”, famiglia: “Smith”},
“email”: “[email protected]”,
“età”: 36
}
>
Le migliori competenze di data science da apprendere nel 2022
SL. No | Le migliori competenze di data science da apprendere nel 2022 | |
1 | Corso di analisi dei dati | Corsi di statistica inferenziale |
2 | Programmi di verifica delle ipotesi | Corsi di regressione logistica |
3 | Corsi di regressione lineare | Algebra lineare per l'analisi |
Conclusione
La scalabilità di MongoDB lo rende uno dei database più utilizzati perché offre numerosi vantaggi nel campo dello sviluppo software e della scienza dei dati. Perseguire una carriera in questi campi è un'opzione redditizia. Il programma Executive PG di upGrad in Data Science è un ottimo posto per iniziare la tua carriera nella scienza dei dati e in altri campi correlati.
Perché MongoDB è così facile da scalare?
MongoDB è facile da scalare perché non è un database SQL, poiché i dati all'interno di MongoDB non sono accoppiati in modo relazionale. I dati in MongoDB sono archiviati in un formato autonomo che consente un facile ridimensionamento orizzontale distribuendo questi documenti su più sistemi (nodi).
Qual è la differenza tra MongoDB e sistemi di database come MariaDB e MySQL?
MongoDB è un database NoSQL mentre MariaDB e MySQL sono database SQL. Inoltre, MongoDB è un database non relazionale mentre gli altri due sono database relazionali.
Perché MongoDB è così popolare?
MongoDB è una parte essenziale dello stack MERN nello sviluppo web. È anche facile distribuire e ridimensionare i progetti su MongoDB. MongoDB è noto per la sua scalabilità. È perfetto per qualsiasi pipeline di sviluppo.