MongoDB List Databases: il comando per elencare i database
In MongoDB, è possibile elencare i database utilizzando il comando List Databases, ma esistono anche altri modi per farlo. Inoltre, List Databases può essere modificato impostando alcuni parametri.
List Databases e le sue alternative
Sebbene MongoDB funzioni diversamente dai sistemi di gestione di database relazionali come MySQL, una buona visione d’insieme di tutte le operazioni e dei dati è determinante per una gestione ottimale anche nella soluzione NoSQL. È per questo motivo che il sistema offre diversi comandi MongoDB per consultare i documenti memorizzati.
Analogamente al comando List Collections di MongoDB, che consente di elencare le raccolte, List Databases fa la stessa cosa con i database. Questo comando non solo riporta i nomi dei vari database, ma fornisce anche preziose informazioni sull’utilizzo della memoria e sulle specifiche. Chi non volesse utilizzare il comando MongoDB List Databases può anche ripiegare su soluzioni alternative, a seconda della destinazione d’uso.
Struttura e filtro del comando List Databases
Il comando List Databases mostra tutti i database disponibili fornendo alcune statistiche di base. Ciò consente di ottenere una visione d’insieme e di sapere se è necessario creare altri database con il comando MongoDB Create Database, oppure eliminare un database con il comando MongoDB Drop Database. Il comando si presenta con la seguente sintassi:
db.adminCommand ( { listDatabases: 1 } )
List Databases dispone inoltre di quattro parametri opzionali utilizzabili per rendere un elenco ancora più preciso:
- filter: permette di effettuare una ricerca ancora più accurata. Utilizzando questa opzione riuscite a filtrare i risultati della ricerca escludendo fin dall’inizio determinati database. I parametri relativi al filtro sono: name, sizeOnDisk, empty e shards.
- nameOnly: mediante questa opzione vengono stabilite le modalità di emissione dei soli nomi dei database o anche delle informazioni aggiuntive. nameOnly è un valore booleano, quindi true o false.
- authorizedDatabases: in questa opzione, anch’essa un valore booleano, è possibile stabilire quali database sono visualizzati a seconda dell’utente. Per esempio, potete impedire a persone non autorizzate di ottenere un riepilogo di tutti i database.
- comment: consente di lasciare commenti in merito al comando in qualsiasi formato BSON adatto.
Esempio di List Databases
Serviamoci di un esempio per capire come funzionano il comando List Databases e i suoi parametri. Immaginiamo di stare lavorando con i database di un’azienda. Immettendo il comando corrispondente senza ulteriori specifiche, verrà visualizzato un output di questo tipo:
db.adminCommand({listDatabases: 1})
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : <size>,</size>
"empty" : false
},
{
"name" : "team",
"sizeOnDisk" : <size>,</size>
"empty" : false
},
{
"name" : "clienti_italia",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"name" : "clienti_francia",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"totalSize" : <totalsize></totalsize>
"totalSizeMb" : <totalsizemb>,</totalsizemb>
"ok" : 1
}
List Databases con nameOnly
Cambiando il valore nameOnly in “true”, List Databases emetterà il codice seguente:
db.adminCommand({listDatabases: 1, nameOnly: true})
{
"databases" : [
{
"name" : "admin",
},
{
"name" : "team",
},
{
"name" : "clienti_italia",
}
{
"name" : "clienti_francia",
}
],
"ok" : 1
}
List Databases con filtro
Specialmente se si usano numerosi database, è utile specificare ulteriormente i criteri di ricerca per il comando List Databases. Nel seguente esempio, mostreremo solo i database che iniziano con le lettere “cli”:
>db.adminCommand({listDatabases: 1, filter: {"name": /^cli/}})
{
"databases" : [
{
"name" : "clienti_italia",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"name" : "clienti_francia",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"totalSize" : <totalsize></totalsize>
"totalSizeMb" : <totalsizemb>,</totalsizemb>
"ok" : 1
}
Con Managed MongoDB from IONOS enables you to concentrate on the essentials. From installation to operation and maintenance work, IONOS makes sure you always get the best performance from your data banks.
Alternative a List Databases
Oltre a List Databases, MongoDB offre altre opzioni per visualizzare i database disponibili.
Prima opzione: show dbs e show databases
Per ottenere un rapido riepilogo dei database, esiste un metodo molto semplice: il comando show dbs di MongoDB, il quale consente di elencare tutti i database MongoDB disponibili:
>show dbs
admin 0.007GB
team 0.013GB
clienti_italia 0.053GB
clienti_francia 0.027GB
Il comando show databases funziona così:
>show databases
admin 0.007GB
team 0.0013GB
clienti_italia 0.053GB
clienti_francia 0.027GB
Entrambi i comandi sono in grado di riconoscere i database corrispondenti soltanto quando vi sono contenuti documenti.
Seconda opzione: get.DBNames
Un’altra valida alternativa al comando List Databases è il metodo db.getMongo().getDBNames(). Sebbene non vengano fornite informazioni aggiuntive, questo approccio è comunque sufficiente per una buona visione d’insieme. Il risultato è il seguente:
>db.getMongo().getDBNames()
[
"admin",
"team",
"clienti_italia",
"clienti_francia"
]