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.
dbmontre que la base de données actuelle est testmais cela n'est répertorié via aucun des commandes de cette page qui est expliquée ici stackoverflow.com/q/38726310/73226
mongosur la ligne de commande (de mongo --nodbne pas vous connecter à une base de données)
show dbsparce que quand je suis allé à la documentation, je ne pouvais tout simplement pas trouver la show dbscommande 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 dbsdans la console mongo, veuillez parcourir lauseful linkssection dans le wiki de balise mongodb , avant de poster une question, cela peut parfois vous aider à trouver une solution plus rapidement.