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
}
Consiglio: MongoDB gestito da IONOS

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
N.B.

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"
]
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.