Ich weiß, wie alle Sammlungen in einer bestimmten Datenbank aufgelistet werden , aber wie liste ich alle verfügbaren Datenbanken in der MongoDB-Shell auf?
Ich weiß, wie alle Sammlungen in einer bestimmten Datenbank aufgelistet werden , aber wie liste ich alle verfügbaren Datenbanken in der MongoDB-Shell auf?
Antworten:
Das Auflisten aller Datenbanken in der MongoDB-Konsole verwendet den Befehl show dbs
.
Weitere Informationen hierzu finden Sie in den Mongo Shell-Befehlshelfern , die in der Mongo-Shell verwendet werden können.
db
die aktuelle Datenbank angezeigt wird test
, dies jedoch nicht über einen der Befehle auf dieser Seite aufgeführt ist, die hier erläutert werden. Stackoverflow.com/q/38726310/73226
mongo
in der Befehlszeile eingeben ( mongo --nodb
um keine Verbindung zu einer Datenbank
show dbs
weil ich, als ich zu den Dokumenten ging, den show dbs
Befehl einfach nirgendwo finden konnte. Die "Dokumente" können manchmal ziemlich frustrierend sein.
--eval
, sondern nur in einer interaktiven Shell. Die Optionen dieser Antwort funktionieren (das Ausgabeformat ist jedoch unterschiedlich) stackoverflow.com/a/32192253/1837991
Fügen Sie für die MongoDB-Shell-Version 3.0.5 den folgenden Befehl in die Shell ein:
db.adminCommand('listDatabases')
oder alternativ:
db.getMongo().getDBNames()
mongo admin --quiet -u <mongodb_admin> -p [<password>] --eval 'db.getMongo().getDBNames().forEach(function(db){print(db)})'
hth
Für die Datenbankliste:
show databases
show dbs
Für Tabelle / Sammlungsliste:
show collections
show tables
db.getCollectionNames()
Über die Befehlszeile
mongo --quiet --eval "printjson(db.adminCommand('listDatabases'))"
das gibt Ausgabe
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 978944,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 77824,
"empty" : false
},
{
"name" : "meteor",
"sizeOnDisk" : 778240,
"empty" : false
}
],
"totalSize" : 1835008,
"ok" : 1
}
Zum Auflisten der Mongodb-Datenbank auf der Shell
show databases //Print a list of all available databases.
show dbs // Print a list of all databases on the server.
Einige grundlegendere Befehle
use <db> // Switch current database to <db>. The mongo shell variable db is set to the current database.
show collections //Print a list of all collections for current database.
show users //Print a list of users for current database.
show roles //Print a list of all roles, both user-defined and built-in, for the current database.
Ich habe eine Lösung gefunden, bei der admin () / andere nicht funktionierten.
const { promisify } = require('util');
const exec = promisify(require('child_process').exec)
async function test() {
var res = await exec('mongo --eval "db.adminCommand( { listDatabases: 1 }
)" --quiet')
return { res }
}
test()
.then(resp => {
console.log('All dbs', JSON.parse(resp.res.stdout).databases)
})
test()
show dbs
in der Mongo-Konsole. Bitte gehen Sie denuseful links
Abschnitt im Mongodb-Tag-Wiki durch , bevor Sie eine Frage stellen. Dies kann Ihnen manchmal helfen, schneller zu einer Lösung zu gelangen.