MongoDB: List Collections e le altre opzioni per gli elenchi
Esistono quattro modalità diverse per elencare le raccolte in MongoDB: List Collections, Show Collections, db.getCollectionNames() e db.getCollectionInfos(). Il primo comando è quello più diffuso e consente di visualizzare tutti i nomi e le opzioni degli elenchi.
Come visualizzare le raccolte come elenchi in MongoDB
Il sistema di gestione di database NoSQL MongoDB si distingue per l’elevata flessibilità e scalabilità. Diversamente da MySQL, questo sistema non si basa su tabelle, poiché i dati vengono memorizzati come documenti in raccolte. Queste possono essere create tramite il comando MongoDB Create Collection ed eliminate con il comando MongoDB Drop Collection.
Per ottenere un quadro generale di tutte le raccolte, il sistema dispone di vari comandi MongoDB. Se desiderate visualizzare alcune o tutte le raccolte, avete la possibilità di scegliere tra i comandi List Collections e Show Collections e i metodi db.getCollectionNames() e db.getCollectionInfos().
Il comando List Collections
Il comando MongoDB List Collections è un metodo particolarmente pratico per visualizzare tutte o alcune raccolte, dal momento che emette tutti i nomi e le opzioni dei singoli elenchi e può essere specificato attraverso diversi parametri.
La sintassi di List Collections
Il comando List Collections si costruisce così:
{listCollections: 1, filter: <document>, nameOnly: <boolean>, authorizedCollections: <boolean>, comment: <any>}</any></boolean></boolean></document>
I quattro parametri opzionali di List Collections sono:
- filter: consente di affinare le vostre ricerche.
- nameOnly: si tratta di un valore booleano il quale stabilisce se debba essere emesso solamente il nome della raccolta o anche eventuali informazioni annesse.
- authorizedCollections: con questo valore booleano limitate l’accesso all’elenco, concedendolo soltanto a chi è in possesso di determinati permessi.
- comment: questa opzione vi consente di descrivere o contrassegnare la query in modo più dettagliato.
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.
Un esempio pratico di List Collections
Questo comando può essere utilizzato nel modo seguente:
db.runCommand({listCollections: 1, authorizedCollections: true, nameOnly: true})
L’output consiste in un cursore che riporta le informazioni disponibili. Di seguito trovate un esempio di come si presenta:
"cursor" : {
"id" : NumberLong (0),
"ns" : "elencoclienti.$cmd.listCollections",
"firstBatch" : [
{
"name" : "elenco.italia",
"type" : "collection"
},
{
"name" : "elenco.francia",
"type" : "collection"
},
{
"name" : "elenco.germania",
"type" : "collection"
}
]
},
"ok" : 1
}
Prima alternativa di elenco: Show Collections
Per ottenere un rapido riepilogo delle raccolte presenti nel database corrente, potete servirvi del comando Show Collections. Questo consente anche di elencare le raccolte MongoDB. A tale scopo, è prima necessario interrogare il database corrispondente e poi tutte le raccolte. L’output che ne consegue è questo:
>use elencoclienti
>show collections
elenco.italia
elenco.francia
elenco.germania
Seconda alternativa di elenco: db.getCollectionNames()
Per dare una rapida occhiata alle raccolte presenti nel database potete avvalervi anche di db.getCollectionNames(): tale metodo si limita a fornire esclusivamente i nomi delle diverse raccolte, pertanto si rivela particolarmente comodo per elencare solo determinate raccolte di MongoDB. L’input e l’output si presentano come segue:
>db.getCollectionNames();
[
"elenco.italia",
"elenco.francia",
"elenco.germania"
]
Terza alternativa di elenco: db.getCollectionInfos()
È possibile impiegare il metodo db.getCollectionInfos() per esaminare più da vicino l’elenco delle raccolte di MongoDB. Accanto al singolo nome, questo metodo fornisce anche tutte le informazioni aggiuntive pertinenti. Applicato alla prima raccolta, ad esempio, si presenta in questo modo:
>db.getCollectionInfos();
[
{
"name" : "elenco.italia",
"type" : "collection",
"options" : {
},
"info" : {
"readOnly" : true,
"uuid" : UUID (<uuid>)</uuid>
},
"idIndex" : {
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_iod_"
}
},