Wie kann ich in der MongoDB-Shell alle Sammlungen für die aktuelle Datenbank auflisten, die ich verwende?
Antworten
Zu viele Anzeigen?Du kannst es...
JavaScript (Shell):
db.getCollectionNames()
Node.js:
db.listCollections()
Nicht-JavaScript (nur Shell):
show collections
Der Grund, warum ich das als Nicht-JavaScript bezeichne, ist der:
$ 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, können Sie:
$ mongo prodmongo/app --eval "db.getCollectionNames().join('\n')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info
Wie kann ich alle Sammlungen für die aktuelle Datenbank, die ich verwende, auflisten?
Drei Methoden
show collections
show tables
db.getCollectionNames()
Alle auflisten Datenbanken :
show dbs
Um eine bestimmte Datenbank zu betreten oder zu benutzen:
use databasename
Alle auflisten Sammlungen :
show collections
出力します。
collection1 collection2 system.indexes
(oder)
show tables
出力します。
collection1 collection2 system.indexes
(oder)
db.getCollectionNames()
出力します。
[ "collection1", "collection2", "system.indexes" ]
Eingabe oder Nutzung einer bestimmten Sammlung
use collectionname
Abgesehen von den von anderen Personen vorgeschlagenen Optionen:
show collections // Output every collection
show tables
db.getCollectionNames() // Shows all collections as a list
Es gibt noch eine weitere Möglichkeit, die sehr praktisch sein kann, wenn Sie wissen wollen, wie die einzelnen Sammlungen erstellt wurden (z. B. wenn es sich um eine gedeckelte Sammlung mit einer bestimmten Größe handelt):
db.system.namespaces.find()
- See previous answers
- Weitere Antworten anzeigen