Marvin Pascale

[B.Log]

31 Luglio 2021

MongoDB

MongoDB MongoDB è un database orientato ai documenti e questi ultimi sono archiviati sotto forma di JSON.

E’ considerato uno dei migliori database NoSQL grazie alla sua flessibilità e scalabilità. Non è necessario avere uno schema prestabilito per i dati e in scenari complessi è possibile scalare orizzontalmente per distribuire il carico di lavoro tra i nodi.

Lo sviluppo di MongoDB è iniziato nel 2007 e Nel 2009 è stato reso open-source sotto licenza AGPL. Da quel giorno sono cambiate tante cose e MongoDB ha offerto nuove funzionalità ad ogni rilascio.

Installazione

MongoDB strizza l’occhio ai sistemi GNU/Linux e questo si traduce in semplicità di installazione e performance al massimo.

Vedremo come installare MongoDB 5.0 su un sistema dabasato su Red Hat Enterprise Linux.

Creazione del file repository

Editiamo il file /etc/yum.repos.d/mongodb-org-5.0.repo

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

Scarichiamo le informazioni sui pacchetti e installamo MongoDB

# yum makecache && yum install -y mongodb-org

L’eseguibile che permette di avviare una instanza di MongoDB è mongod e al termine dell’installazione troveremo l’omonimo servizio. Il file di configurazione di mongod è /etc/mongod.conf e di default avremo il servizio in ascolto solo su 127.0.0.1 con i dati in /var/lib/mongo e i log in /var/log/mongodb

Avviamo il servizio

# systemctl start mongod

Utilizziamo la shell mongo e chiediamo di mostrarci i databases presenti.

# mongo

> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB

Ora siamo in grado ti utilizzare MongoDB per salvare i nostri dati.

Con MongoDB dobbiamo abbandonare il pensiero di tabelle e abbracciare il concetto di collection. Un database può contenere più collection e ogni collection conterrà i documenti JSON.

Per eseguire un test creeremo un database chiamato libreria e una collection chiamata libri.

> use libreria
> db.libri.insertOne({"Titolo": "Il Signore degli Anelli", "Autore": "J. R. R. Tolkien", "Volumi": 3})
{
	"acknowledged" : true,
	"insertedId" : ObjectId("61056e33b4af900d4a079c8a")
}

Per verificare il nostro inserimento basterà eseguire una query di ricerca.

> db.libri.findOne({})
{
	"_id" : ObjectId("61056e33b4af900d4a079c8a"),
	"Titolo" : "Il Signore degli Anelli",
	"Autore" : "J. R. R. Tolkien",
	"Volumi" : 3
}

Come avrete notato non è necessario creare il database e la collection ma basta inserire il documento. Nel momento in cui lanciamo l’insertOne MongoDB si preoccuperà di creare il database e la collection.


Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.

Risorse: