886 Stimmen

Wie kann ich alle Sammlungen in der MongoDB-Shell auflisten?

Wie kann ich in der MongoDB-Shell alle Sammlungen für die aktuelle Datenbank auflisten, die ich verwende?

1326voto

AdaTheDev Punkte 135097

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

463voto

Cameron Punkte 91138
> show collections

listet alle Sammlungen in der aktuell ausgewählten DB auf, wie in der Kommandozeilenhilfe angegeben ( help ).

302voto

Bharadwaja Bapatla Punkte 3361

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

56voto

Kevin Meredith Punkte 39520

> show tables

Das Ergebnis ist dasselbe wie bei Camerons Antwort.

35voto

Salvador Dali Punkte 197375

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()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X