Je sais comment répertorier toutes les collections dans une base de données particulière , mais comment répertorier toutes les bases de données disponibles dans le shell MongoDB?
Je sais comment répertorier toutes les collections dans une base de données particulière , mais comment répertorier toutes les bases de données disponibles dans le shell MongoDB?
Réponses:
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.
db
montre que la base de données actuelle est test
mais cela n'est répertorié via aucun des commandes de cette page qui est expliquée ici stackoverflow.com/q/38726310/73226
mongo
sur la ligne de commande (de mongo --nodb
ne pas vous connecter à une base de données)
show dbs
parce que quand je suis allé à la documentation, je ne pouvais tout simplement pas trouver la show dbs
commande n'importe où. Les «documents» peuvent parfois être assez frustrants.
--eval
, juste sur un shell interactif. Les options de cette réponse fonctionnent (le format de sortie est cependant différent) stackoverflow.com/a/32192253/1837991
Pour le shell MongoDB version 3.0.5, insérez la commande suivante dans le shell:
db.adminCommand('listDatabases')
Ou bien:
db.getMongo().getDBNames()
mongo admin --quiet -u <mongodb_admin> -p [<password>] --eval 'db.getMongo().getDBNames().forEach(function(db){print(db)})'
hth
Pour la liste des bases de données:
show databases
show dbs
Pour la liste des tables / collections:
show collections
show tables
db.getCollectionNames()
Depuis le problème de la ligne de commande
mongo --quiet --eval "printjson(db.adminCommand('listDatabases'))"
ce qui donne une sortie
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 978944,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 77824,
"empty" : false
},
{
"name" : "meteor",
"sizeOnDisk" : 778240,
"empty" : false
}
],
"totalSize" : 1835008,
"ok" : 1
}
Pour répertorier la base de données mongodb sur le 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.
J'ai trouvé une solution, où admin () / autres n'a pas fonctionné.
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
dans la console mongo, veuillez parcourir lauseful links
section dans le wiki de balise mongodb , avant de poster une question, cela peut parfois vous aider à trouver une solution plus rapidement.