Neben dem MongoDB-Befehl List Databases gibt es ein paar Al­ter­na­ti­ven, um Da­ten­ban­ken auflisten zu lassen. List Databases selbst kann dafür mit ver­schie­de­nen Pa­ra­me­tern mo­di­fi­ziert werden.

List Databases und seine Al­ter­na­ti­ven

Zwar arbeitet MongoDB anders als re­la­tio­na­le Da­ten­bank­ma­nage­ment­sys­te­me wie MySQL, al­ler­dings ist auch bei der NoSQL-Lösung ein guter Überblick über alle Ope­ra­tio­nen und Daten der Schlüssel zu einer optimalen Ver­wal­tung. Aus diesem Grund bietet das System ver­schie­de­ne MongoDB Commands, um die hin­ter­leg­ten Dokumente zu über­prü­fen.

Mit dem MongoDB-Befehl List Coll­ec­tions ist es möglich, Samm­lun­gen auf­zu­lis­ten, während List Databases für die Auf­lis­tung von Da­ten­ban­ken genutzt wird. Der letzt­ge­nann­te Befehl gibt dabei nicht nur die Namen der ver­schie­de­nen Da­ten­ban­ken zurück, sondern liefert auch wertvolle In­for­ma­tio­nen über Spei­cher­be­le­gung und Spe­zi­fi­ka­tio­nen. Wer den MongoDB-Befehl List Databases nicht nutzen möchte, kann auch auf Al­ter­na­ti­ven zu­rück­grei­fen, die sich je nach Ver­wen­dungs­zweck anbieten.

Aufbau und Filter des List-Databases-Befehls

Der Command List Databases zeigt Ihnen alle ver­füg­ba­ren Da­ten­ban­ken an und liefert dazu einige grund­sätz­li­che Sta­tis­ti­ken. So behalten Sie den Überblick und wissen, ob Sie mit dem MongoDB-Befehl Create Database zu­sätz­lich Da­ten­ban­ken kreieren oder mit dem MongoDB-Befehl Drop Database eine Datenbank löschen müssen. Die Syntax des Befehls sieht fol­gen­der­ma­ßen aus:

db.adminCommand ( { listDatabases: 1 } )

List Databases verfügt zu­sätz­lich über vier optionale Parameter, durch die sich eine Auf­lis­tung noch ziel­ge­nau­er machen lässt:

  • filter: Dieses Dokument erlaubt Ihnen eine noch genauere Suche. Nutzen Sie diese Option, um Ihre Such­ergeb­nis­se zu filtern und dadurch bestimmte Da­ten­ban­ken von vorn­her­ein aus­zu­schlie­ßen. Die zu­läs­si­gen Fil­ter­pa­ra­me­ter sind name, si­ze­On­Disk, empty und shards.
  • nameOnly: Mit dieser Option legen Sie fest, ob lediglich die Namen der Da­ten­ban­ken aus­ge­ge­ben werden sollen oder auch zu­sätz­li­che In­for­ma­tio­nen. nameOnly ist ein boolscher Wert, also true oder false.
  • aut­ho­ri­zed­Da­ta­ba­ses: Auch aut­ho­ri­zed­Da­ta­ba­ses ist ein boolscher Wert. Mit dieser Option lässt sich festlegen, welche Da­ten­ban­ken un­ter­schied­li­chen Nut­ze­rin­nen und Nutzern angezeigt werden. So können Sie zum Beispiel aus­schlie­ßen, dass Personen ohne Be­rech­ti­gung einen Überblick über alle Da­ten­ban­ken erhalten.
  • comment: Sie können den Befehl außerdem kom­men­tie­ren. Der Kommentar darf dabei jedes passende BSON-Format haben.

Beispiel für List Databases

Am besten verstehen Sie die Funk­ti­ons­wei­se des Befehls List Databases und seiner Parameter anhand eines Beispiels. Dafür stellen wir uns die Da­ten­ban­ken eines Un­ter­neh­mens vor. Geben Sie den ent­spre­chen­den Befehl ohne weitere Spe­zi­fi­ka­tio­nen ein, erscheint eine solche Ausgabe:

db.adminCommand({listDatabases: 1})
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : <size>,</size>
"empty" : false
},
{
"name" : "team",
"sizeOnDisk" : <size>,</size>
"empty" : false
},
{
"name" : "kunden_deutschland",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"name" : "kunden_frankreich",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"totalSize" : <totalsize></totalsize>
"totalSizeMb" : <totalsizemb>,</totalsizemb>
"ok" : 1
}

List Databases mit nameOnly

Wenn Sie nun den Wert nameOnly in „true“ ändern, sieht die Ausgabe von List Databases aus wie folgt:

db.adminCommand({listDatabases: 1, nameOnly: true})
{
"databases" : [
{
"name" : "admin",
},
{
"name" : "team",
},
{
"name" : "kunden_deutschland",
}
{
"name" : "kunden_frankreich",
}
],
"ok" : 1
}

List Databases mit Filter

Gerade wenn Sie zahl­rei­che Da­ten­ban­ken verwenden, kann es sich anbieten, Ihre Such­kri­te­ri­en für den Befehl List Databases noch weiter zu spe­zi­fi­zie­ren. Im folgenden Beispiel lassen wir uns auf diese Weise nur jene Da­ten­ban­ken anzeigen, die mit den Buch­sta­ben „kun“ beginnen:

>db.adminCommand({listDatabases: 1, filter: {"name": /^kun/}})
{
"databases" : [
{
"name" : "kunden_deutschland",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"name" : "kunden_frankreich",
"sizeOnDisk" : <size>,</size>
"empty" : false
}
],
"totalSize" : <totalsize></totalsize>
"totalSizeMb" : <totalsizemb>,</totalsizemb>
"ok" : 1
}
Tipp: Managed MongoDB von IONOS

Mit Managed MongoDB von IONOS können Sie sich auf das We­sent­li­che kon­zen­trie­ren. Ob In­stal­la­ti­on, Betrieb oder War­tungs­ar­bei­ten, IONOS sorgt für einen zu­ver­läs­si­gen Betrieb Ihrer hoch­per­for­man­ten Da­ten­ban­ken.

Al­ter­na­ti­ven zu List Databases

Neben List Databases haben Sie in MongoDB noch andere Mög­lich­kei­ten, sich die ver­füg­ba­ren Da­ten­ban­ken anzeigen zu lassen.

Option 1: show dbs und show databases

Eine sehr einfache Methode, um schnell einen Überblick über Ihre Da­ten­ban­ken zu bekommen, ist der MongoDB-Befehl show dbs. Mit ihm lassen sich alle ver­füg­ba­ren MongoDB Databases auflisten:

>show dbs
admin 0.007GB
team 0.013GB
kunden_deutschland 0.053GB
kunden_frankreich 0.027GB

Der Befehl Show databases funk­tio­niert genauso:

>show databases
admin 0.007GB
team 0.0013GB
kunden_deutschland 0.053GB
kunden_frankreich 0.027GB
Hinweis

Beide Commands werden die ent­spre­chen­den Da­ten­ban­ken erst dann erkennen, wenn diese mit Do­ku­men­ten gefüllt werden.

Option 2: get.DBNames

Auch die Methode db.getMongo().getDB­Na­mes() ist eine gute Al­ter­na­ti­ve zum List-Databases-Befehl. Zwar werden hierbei keinerlei Zu­satz­in­for­ma­tio­nen aus­ge­ge­ben, für eine gute Übersicht reicht dieser Weg aber dennoch. Die Ausgabe sieht bei­spiel­haft so aus:

>db.getMongo().getDBNames()
[
"admin",
"team",
"kunden_deutschland",
"kunden_frankreich"
]
Zum Hauptmenü