Je sais comment lister toutes les collections d'une base de données particulière , mais comment lister toutes les bases de données disponibles dans le shell MongoDB?
La liste de toutes les bases de données dans la console mongoDB utilise la commande show dbs
.
Pour plus d'informations à ce sujet, reportez-vous aux Assistants de commande du shell Mongo qui peuvent être utilisés dans le shell mongo.
Pour MongoDB Shell version 3.0.5, insérez la commande suivante dans le shell:
db.adminCommand('listDatabases')
ou bien:
db.getMongo().getDBNames()
Vous pouvez aussi essayer ceci
Pour la liste de base de données ---
show databases
show dbs
Pour la liste de table/collection ---
show collections
show tables
db.getCollectionNames()
J'espère que cela t'aides..
Depuis le numéro de ligne de commande
mongo --quiet --eval "printjson(db.adminCommand('listDatabases'))"
qui donne la sortie
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 978944,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 77824,
"empty" : false
},
{
"name" : "meteor",
"sizeOnDisk" : 778240,
"empty" : false
}
],
"totalSize" : 1835008,
"ok" : 1
}
J'ai trouvé une solution, où admin ()/autres ne fonctionnait pas.
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()
Pour lister la base de données mongodb sur Shell
show databases //Print a list of all available databases.
show dbs // Print a list of all databases on the server.
Quelques commandes plus basiques
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.