Con i giusti comandi di MongoDB il lavoro con il sistema di gestione dei database diventa si­gni­fi­ca­ti­va­men­te più facile ed ef­fi­cien­te. Di seguito abbiamo riassunto per voi i più im­por­tan­ti comandi in maniera chiara e intuitiva.

Cosa dovete sapere su MongoDB

Il database NoSQL MongoDB è diventato una delle al­ter­na­ti­ve a MySQL da prendere mag­gior­men­te in con­si­de­ra­zio­ne. Gli utenti ap­prez­za­no l’elevata sca­la­bi­li­tà e fles­si­bi­li­tà del sistema di gestione di base di dati. Se avete in­ten­zio­ne di testare il software allora vale la pena di dare un’occhiata al nostro det­ta­glia­to tutorial su MongoDB. Inoltre, il riepilogo dei comandi più im­por­tan­ti di MongoDB, che vi pre­sen­tia­mo qui, vi al­leg­ge­ri­rà enor­me­men­te il lavoro.

Sintassi dei comandi

Prima di iniziare a occuparvi dei vari comandi di MongoDB è im­por­tan­te capire come funziona la loro sintassi. Il modello è sempre lo stesso. La co­stru­zio­ne dei comandi di MongoDB è la seguente:

db.runCommand ( { hello: 1 } )

I comandi più im­por­tan­ti di MongoDB per i meno esperti

I comandi base di MongoDB vi aiutano a muovere i primi passi e a lavorare in maniera più ef­fi­cien­te con questo software. I comandi in assoluto più im­por­tan­ti con cui iniziare sono questi due:

Comandi di MongoDB De­scri­zio­ne
db.help() Elenca tutti i comandi di MongoDB di­spo­ni­bi­li.
mongo -version Con questo comando stabilite quale versione di MongoDB state uti­liz­zan­do. Potete eseguirlo nel terminale di Linux o di macOS. Se uti­liz­za­te Windows usate il prompt dei comandi. Inoltre, vi vengono mostrate sia la versione shell at­tual­men­te in uso sia il server MongoDB cor­ri­spon­den­te.

I comandi per i database

Per ar­chi­via­re i vostri dati avete bisogno dei database. I seguenti comandi di MongoDB sono par­ti­co­lar­men­te im­por­tan­ti per la gestione dei database:

Comandi di MongoDB De­scri­zio­ne
show dbs Con questo comando vi­sua­liz­za­te una lista di tutti i database.
use DATABASE_NAME Create un nuovo database per il quale potete scegliere li­be­ra­men­te il nome.
db Con questo comando ri­chie­de­te quale database è quello at­tual­men­te in uso.
db.drop­Da­ta­ba­se() Usate questo comando per eliminare il database at­tual­men­te in uso.

I comandi per le raccolte

Mentre i database re­la­zio­na­li come MySQL si basano sulle tabelle, MongoDB ricorre alle raccolte, che prendono il nome di “col­lec­tion”. I seguenti comandi di MongoDB ri­guar­da­no l’utilizzo delle raccolte:

Comandi di MongoDB De­scri­zio­ne
db.crea­te­Col­lec­tion (nome, opzioni) Create una semplice raccolta e stabilite sia il suo nome sia eventuali altre opzioni.
show col­lec­tions Vi­sua­liz­za­te un elenco di tutte le raccolte di­spo­ni­bi­li.
col­lec­tion­Na­me.drop() Usate questo comando per eliminare una raccolta. Quando una raccolta viene can­cel­la­ta, il sistema lo conferma con “true”. Nel caso di errore, il sistema dà “false” come risposta.

La gestione degli utenti

Per lavorare assieme a diversi utenti in un database dovete creare e gestire dei profili utente. I seguenti comandi di MongoDB vi aiutano a farlo:

Comandi di MongoDB De­scri­zio­ne
crea­teU­ser (user, wri­te­Con­cern) Create un nuovo utente. Con “wri­te­Con­cern” gli assegnate anche le au­to­riz­za­zio­ni che volete.
dropUser Rimuovete un singolo utente dal database.
dro­pAl­lU­ser­sFro­m­Da­ta­ba­se Rimuovete tutti gli utenti creati in un database.
usersInfo Vi­sua­liz­za­te tutte le in­for­ma­zio­ni di­spo­ni­bi­li relative a un utente.
up­da­teU­ser Ag­gior­na­te i dati di un utente.
gran­tRo­le­sToU­ser At­tri­bui­te a un utente dei de­ter­mi­na­ti permessi o un de­ter­mi­na­to ruolo.
re­vo­ke­Ro­le­sFro­mU­ser Revocate a un utente de­ter­mi­na­ti permessi o un de­ter­mi­na­to ruolo.

I comandi per i ruoli

Potete assegnare agli utenti dei ruoli o delle au­to­riz­za­zio­ni definite. Per gestirli, spe­ci­fi­car­li o can­cel­lar­li potete usare i seguenti comandi di MongoDB:

Comandi di MongoDB De­scri­zio­ne
crea­te­Ro­le Create un ruolo e ne con­fi­gu­ra­te i permessi e gli obblighi.
rolesInfo Ri­chie­de­te le spe­ci­fi­che di un de­ter­mi­na­to ruolo.
up­da­te­Ro­le Ag­gior­na­te un ruolo e le in­for­ma­zio­ni a di­spo­si­zio­ne.
dropRole Can­cel­la­te un de­ter­mi­na­to ruolo.
dro­pAll­Ro­le­sFro­m­Da­ta­ba­se Can­cel­la­te tutti i ruoli di un database.
grant­Pri­vi­le­ge­sTo­Ro­le Ampliate un ruolo as­se­gnan­do­gli dei privilegi chia­ra­men­te definiti.
re­vo­ke­Pri­vi­le­ge­sFrom­Ro­le Revocate singoli privilegi a un ruolo.
gran­tRo­le­sTo­Ro­le Definite i ruoli, i cui privilegi vengono tra­sfe­ri­ti a un altro ruolo.
re­vo­ke­Ro­le­sFrom­Ro­le Rimuovete i ruoli ereditati.
in­va­li­da­teU­ser­Ca­che Svuotate la cache utente e rimuovete tutte le in­for­ma­zio­ni riguardo ai ruoli.

Ag­giun­ge­re e gestire documenti

Per riempire le raccolte, assegnate de­ter­mi­na­ti documenti o ne create dei nuovi. I seguenti comandi di MongoDB risultano utili in questo caso:

Comandi di MongoDB De­scri­zio­ne
insert Ag­giun­ge­te uno o più documenti a una raccolta.
update Ag­gior­na­te uno o più documenti.
delete Rimuovete documenti da una raccolta.
find Se­le­zio­na­te un de­ter­mi­na­to documento da una raccolta e lo vi­sua­liz­za­te.
fin­dAnd­Mo­di­fy Vi­sua­liz­za­te un de­ter­mi­na­to documento e lo mo­di­fi­ca­te.
getMore Vi­sua­liz­za­te i documenti che avete se­le­zio­na­to con il cursore.
ge­tLa­stEr­ror Vi­sua­liz­za­te lo stato delle ultime ope­ra­zio­ni eseguite.

Rag­grup­pa­re e sud­di­vi­de­re

Per poter dividere ancora meglio i documenti, il database offre i co­sid­det­ti comandi di ag­gre­ga­zio­ne. Per il rag­grup­pa­men­to potete uti­liz­za­re i seguenti comandi:

Comandi di MongoDB De­scri­zio­ne
aggregate Rag­grup­pa­te i documenti.
count Contate i vari documenti all’interno di una raccolta.
distinct Vi­sua­liz­za­te i valori definiti e le sta­ti­sti­che di quanto spesso sono presenti in una raccolta.
mapReduce Viene uti­liz­za­to per dati di grandi di­men­sio­ni e serve a ridurli o ordinarli.

I comandi im­por­tan­ti in ambito di sicurezza

MongoDB è anche molto adatto per il lavoro con dati sensibili. A questo scopo il sistema consente di limitare gli accessi e mette a vostra di­spo­si­zio­ne diverse pos­si­bi­li­tà per pro­teg­ge­re alcune stringhe di dati tramite l’au­ten­ti­ca­zio­ne. Per questo motivo dovreste conoscere i seguenti comandi:

Comandi di MongoDB De­scri­zio­ne
au­then­ti­ca­te Avviate una sessione au­ten­ti­ca­ta, che richiede di inserire nome utente e password.
Getnonce Con questo comando generate una password monouso per un accesso protetto.
logout Terminate la sessione protetta in corso.

I comandi per le sessioni

A partire dalla versione 3.6 fino alla 4 MongoDB offre anche comandi per de­ter­mi­na­te sessioni. Questi sono i comandi in­te­res­san­ti da uti­liz­za­re per il vostro lavoro:

Comandi di MongoDB De­scri­zio­ne
startS­es­sion Avviate una nuova sessione.
re­fre­sh­Ses­sions Ag­gior­na­te le sessioni inattive.
end­Ses­sions Terminate le sessioni prima del previsto.
kill­Ses­sions Terminate de­ter­mi­na­te sessioni.
kil­lAll­Ses­sions Terminate tutte le sessioni im­me­dia­ta­men­te.
kil­lAll­Ses­sion­sBy­Pat­tern Terminate tutte le sessioni che cor­ri­spon­do­no ai parametri stabiliti.
com­mit­Tran­sac­tion Eseguite una tran­sa­zio­ne.
abort­Tran­sac­tion In­ter­rom­pe­te una tran­sa­zio­ne.

Altri comandi am­mi­ni­stra­ti­vi

MongoDB offre altri comandi che possono aiutarvi ad al­leg­ge­ri­re il vostro carico di lavoro am­mi­ni­stra­ti­vo. Alcuni dei comandi più im­por­tan­ti li trovate elencati in ordine al­fa­be­ti­co nella seguente tabella:

Comandi di MongoDB De­scri­zio­ne
clo­ne­Col­lec­tio­nA­sCap­ped Create una copia di una raccolta senza di­men­sio­ne massima, im­po­stan­do­ne una.
collMod Ag­giun­ge­te opzioni a una raccolta.
compact Fram­men­ta­te una raccolta e ri­con­fi­gu­ra­te gli indici.
con­vert­To­Cap­ped Con­ver­ti­te una raccolta senza di­men­sio­ne massima in una raccolta con di­men­sio­ne massima.
crea­teIn­de­xes Ag­giun­ge­te a una raccolta uno o più indici.
get­Pa­ra­me­ter Vi­sua­liz­za­te le opzioni di con­fi­gu­ra­zio­ne.
li­stIn­de­xes Elencate tutti gli indici di­spo­ni­bi­li di una raccolta.
set­Pa­ra­me­ter Mo­di­fi­ca­te le opzioni di con­fi­gu­ra­zio­ne.
Shutdown In­ter­rom­pe­te i processi mongod o mongos.

Diagnosi e mo­ni­to­rag­gio

Esistono anche dei comandi di MongoDB per il mo­ni­to­rag­gio e la diagnosi. In questo caso possono risultare utili i seguenti comandi:

Comandi di MongoDB De­scri­zio­ne
dbStats Ottenete una sta­ti­sti­ca su un de­ter­mi­na­to database e sul suo utilizzo.
features Vi­sua­liz­za­te un elenco di tutte le fun­zio­na­li­tà di­spo­ni­bi­li.
ser­ver­Sta­tus Vi­sua­liz­za­te in­for­ma­zio­ni sullo stato del server in uso.
buildInfo Vi­sua­liz­za­te tutte le in­for­ma­zio­ni di­spo­ni­bi­li sul build corrente di MongoDB.
con­nec­tion­Sta­tus Ottenete in­for­ma­zio­ni sulla con­nes­sio­ne.
dataSize Vi­sua­liz­za­te la di­men­sio­ne di un file o di una sequenza se­le­zio­na­ta di diversi file.
set­Free­Mo­ni­to­ring Con questo comando con­sen­ti­te o vietate il mo­ni­to­rag­gio libero delle pre­sta­zio­ni durante l’ese­cu­zio­ne.
Vai al menu prin­ci­pa­le