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?

26voto

Tarun Gupta Punkte 6127

Zunächst müssen Sie eine Datenbank verwenden, um alle darin enthaltenen Sammlungen/Tabellen anzuzeigen.

>show dbs
users 0.56787GB
test (empty)
>db.test.help() // this will give you all the function which can be used with this db
>use users
>show tables //will show all the collection in the db

20voto

Indrajeet Singh Punkte 2830

Versuchen Sie es:

help // To show all help methods
show dbs  // To show all dbs
use dbname  // To select your db
show collections // To show all collections in selected db

17voto

lxg Punkte 215

Sie können verwenden show tables o show collections .

14voto

Amitesh Bharti Punkte 10156
 1. show collections; // Display all collections
 2. show tables     // Display all collections
 3. db.getCollectionNames();   // Return array of collection. Example :[ "orders", "system.profile" ]

Detaillierte Informationen zu jeder Kollektion:

db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
  • Für Benutzer mit dem erforderlichen Zugriff (Berechtigungen, die die Aktion listCollections für die Datenbank gewähren), listet die Methode die Namen aller Sammlungen für die Datenbank auf.
  • Für Benutzer ohne den erforderlichen Zugriff listet die Methode nur die Sammlungen auf, für die der Benutzer Berechtigungen hat. Hat ein Benutzer beispielsweise Zugriff auf eine bestimmte Sammlung in einer Datenbank, gibt die Methode nur diese Sammlung zurück.

Zum Auflisten von Sammlungen anhand eines Suchbegriffs.

db.getCollectionNames().filter(function (CollectionName) { return /<Search String>/.test(CollectionName) })

Exemple : Suche nach allen Sammlungen mit "import" im Namen

db.getCollectionNames().filter(function (CollectionName) { return /import/.test(CollectionName) })

13voto

Sood Punkte 159

Die folgenden Befehle auf der Mongoshell sind üblich.

show databases
show collections

Auch,

show dbs
use mydb
db.getCollectionNames()

Manchmal ist es nützlich, alle Sammlungen sowie die Indizes der Sammlungen zu sehen, die Teil des gesamten Namensraums sind:

So würden Sie das tun:

db.getCollectionNames().forEach(function(collection) {
    indexes = db[collection].getIndexes();
    print("Indexes for " + collection + ":");
    printjson(indexes);
});

Mit den drei Befehlen und diesem Schnipsel sollten Sie gut gerüstet sein!

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