Wie kann ich in der MongoDB-Shell alle Sammlungen für die aktuelle Datenbank auflisten, die ich verwende?
Antworten
Zu viele Anzeigen?Ich denke, eine der größten Verwirrungen ist der Unterschied zwischen dem, was man mit mongo
(oder eine interaktive/hybride Shell) gegenüber. mongo --eval
(oder eine reine JavaScript-Shell). Ich habe diese hilfreichen Dokumente immer griffbereit:
Hier ist ein Beispiel für ein Skript, das Sie sonst mit show
Befehle:
# List all databases and the collections in them
mongo --eval "
db.getMongo().getDBNames().forEach(
function(v, i){
print(
v + '\n\t' +
db.getSiblingDB(v).getCollectionNames().join('\n\t')
)
}
)
"
Anmerkung: Das funktioniert wirklich gut als Einzeiler. (Aber es sieht auf Stack Overflow schrecklich aus.)
mongo --eval "db.getMongo().getDBNames().forEach(function(v, i){print(v+'\n\t'+db.getSiblingDB(v).getCollectionNames().join('\n\t'))})"
Der Befehl, mit dem alle Sammlungen in der MongoDB-Datenbank angezeigt werden, lautet
show collections
Vor der Ausführung der show collections
müssen Sie die Datenbank auswählen:
use mydb // mydb is the name of the database being selected
Um alle Datenbanken anzuzeigen, können Sie den Befehl
show dbs // Shows all the database names present
Weitere Informationen finden Sie unter Erste Schritte .
Wenn Sie alle Sammlungen über die MongoDB-Shell (Befehlszeile) anzeigen möchten, verwenden Sie den Shell-Helper,
show collections
die alle Sammlungen für die aktuelle Datenbank anzeigt. Wenn Sie alle Sammlungslisten aus Ihrer Anwendung abrufen möchten, können Sie die MongoDB-Datenbankmethode verwenden
db.getCollectionNames()
Weitere Informationen über den MongoDB-Shell-Helper finden Sie unter mongo
Shell-Kurzreferenz .
> show dbs
anuradhfirst 0.000GB
local 0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
- Verbindung mit der MongoDB-Datenbank mit
mongo
. Damit wird die Verbindung hergestellt. - dann laufen
show dbs
Befehl. Dies zeigt Ihnen alle beendeten/verfügbaren Datenbanken an. - wählen Sie dann die
database
Sie wollen. Im obigen Beispiel ist esanuradhfirst
. Dann laufenuse anuradhfirst
. Damit wechseln Sie zu der gewünschten Datenbank. - dann laufen
show collections
Befehl. Dies zeigt allecollections
in der von Ihnen gewählten Datenbank.