Du kannst tun...
JavaScript (Shell):
db.getCollectionNames()
Node.js:
db.listCollections()
Nicht-JavaScript (nur Shell):
show collections
Der Grund, warum ich das Nicht-JavaScript nenne, ist folgender:
$ mongo prodmongo/app --eval "show collections"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
2016-10-26T19:34:34.886-0400 E QUERY [thread1] SyntaxError: missing ; before statement @(shell eval):1:5
$ mongo prodmongo/app --eval "db.getCollectionNames()"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
[
"Profiles",
"Unit_Info"
]
Wenn Sie wirklich diese süße, süße show collections
Ausgabe wollen, können Sie:
$ mongo prodmongo/app --eval "db.getCollectionNames().join('\n')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info
db.getCollectionNames()
wurde zugunsten vondb.listCollections()
db.listCollections()
die hier gezeigte und grün eingecheckte Antwort erhalten? Ansonsten machen die Leute den gleichen Fehler, den ich unzählige Male gemacht habe, als sie zu dieser Antwort kamen - und versuchen zu verwenden,db.getCollectionNames
und der Fehler kommt zurückdb.collectionNames is not a function
.db.getCollectionNames()
ist immer noch die richtige Antwort für die Shell.listet alle Sammlungen in der aktuell ausgewählten Datenbank auf, wie in der Befehlszeilenhilfe (
help
) angegeben.quelle
content 1145.586MB / 1506.855MB
zum Beispiel.Drei Methoden
show collections
show tables
db.getCollectionNames()
So listen Sie alle Datenbanken auf :
So geben Sie eine bestimmte Datenbank ein oder verwenden sie:
So listen Sie alle Sammlungen auf :
Ausgabe:
(oder)
Ausgabe:
(oder)
Ausgabe:
Eingabe oder Verwendung einer bestimmten Sammlung
quelle
show tables
ist sehr hilfreich für diejenigen, die aus einem relationalen DBMS-Hintergrund stammen.use
ist eine Datenbank zu verwenden, nichts mit Sammlungen zu tun> show tables
Es gibt das gleiche Ergebnis wie Camerons Antwort.
quelle
Abgesehen von den von anderen Personen vorgeschlagenen Optionen:
Es gibt auch eine andere Möglichkeit, die sehr praktisch sein kann, wenn Sie wissen möchten, wie die einzelnen Sammlungen erstellt wurden (z. B. handelt es sich um eine begrenzte Sammlung mit einer bestimmten Größe):
quelle
Zuerst müssen Sie eine Datenbank verwenden, um alle darin enthaltenen Sammlungen / Tabellen anzuzeigen.
quelle
Sie können
show tables
oder verwendenshow collections
.quelle
Versuchen:
quelle
Der Befehl zum Anzeigen aller Sammlungen in der MongoDB-Datenbank lautet
Bevor Sie den
show collections
Befehl ausführen, müssen Sie die Datenbank auswählen:Um alle Datenbanken anzuzeigen, können Sie den Befehl verwenden
Weitere Informationen finden Sie unter Erste Schritte .
quelle
Wenn Sie alle Sammlungen der MongoDB-Shell (Befehlszeile) anzeigen möchten, verwenden Sie den Shell-Helfer.
Das zeigt alle Sammlungen für die aktuelle Datenbank. Wenn Sie alle Sammlungslisten aus Ihrer Anwendung abrufen möchten, können Sie die MongoDB-Datenbankmethode verwenden
Weitere Informationen zum MongoDB-Shell-Helfer finden Sie in der
mongo
Shell-Kurzreferenz .quelle
Die folgenden Befehle in Mongoshell sind häufig.
Ebenfalls,
Manchmal ist es nützlich, alle Sammlungen sowie die Indizes der Sammlungen anzuzeigen, die Teil des gesamten Namespace sind:
So würden Sie das machen:
Zwischen den drei Befehlen und diesem Ausschnitt sollten Sie gut abgedeckt sein!
quelle
Ich denke, eine der größten Verwirrungen ist der Unterschied zwischen dem, was Sie mit
mongo
(oder einer interaktiven / hybriden Shell) tun können, und dem, was Sie mitmongo --eval
(oder einer reinen JavaScript-Shell) machen können. Ich halte diese hilfreichen Dokumente bereit:mongo
Hier ist ein Beispiel für die Skripterstellung, die Sie sonst mit
show
Befehlen ausführen könnten :Hinweis: Das funktioniert sehr gut als Einzeiler. (Aber bei Stack Overflow sieht es schrecklich aus.)
quelle
Auf> = 2.x können Sie tun
Auf 1.x können Sie tun
quelle
db.getCollectionNames()
erhalte ich,[ "users" ]
weil ich eine Benutzersammlung habe. Wenn ich es versuche,db.listCollections()
dann ergibt es[thread1] TypeError: db.listCollections is not a function : @(shell):1:1
Listen Sie alle Sammlungen aus der
mongo
Shell auf:quelle
Zum Umschalten in die Datenbank.
Durch:
Verwenden Sie das Beispiel {Ihr_Datenbankname} :
Wo
friends
ist der Name Ihrer Datenbank?Dann schreibe:
Dadurch erhalten Sie den Namen der Sammlungen.
quelle
mongo
. Dadurch wird die Verbindung gestartet.show dbs
Befehl aus. Dies zeigt Ihnen alle vorhandenen / verfügbaren Datenbanken.database
Sie dann die gewünschte aus. Oben ist esanuradhfirst
. Dann renneuse anuradhfirst
. Dadurch wird zur gewünschten Datenbank gewechselt.show collections
Befehl aus. Dies zeigt allescollections
in Ihrer ausgewählten Datenbank an.quelle
Dieser Befehl funktioniert normalerweise in der MongoDB-Shell, sobald Sie zur Datenbank gewechselt haben.
quelle
Weitere Details finden Sie hier .
quelle
oder
oder
quelle
Ich benutze
listCollections
(unterstützt MongoDB 3.0 und höher) für diesen Zweck.Beispiel:
So rufen Sie weitere Informationen wie den Index der Sammlung ab:
So drucken Sie nur die Sammlungsnamen:
Ich denke, dies bietet mehr Flexibilität.
Lesen Sie mehr: listCollections
quelle
Detaillierte Informationen zu jeder Sammlung:
Auflisten von Sammlungslisten basierend auf einer Suchzeichenfolge.
Beispiel: Suchen Sie alle Sammlungen mit dem Namen "import"
quelle
Verwenden Sie den folgenden Befehl aus der
mongo
Shell:quelle