So come elencare tutte le raccolte in un particolare database , ma come posso elencare tutti i database disponibili nella shell MongoDB?
So come elencare tutte le raccolte in un particolare database , ma come posso elencare tutti i database disponibili nella shell MongoDB?
Risposte:
Elencare tutti i database nella console mongoDB sta usando il comando show dbs.
Per ulteriori informazioni al riguardo, consultare gli Helpers di comando della shell Mongo che possono essere utilizzati nella shell mongo.
dbmostra che il database corrente è testma questo non è elencato tramite nessuno dei comandi in questa pagina che è spiegato qui stackoverflow.com/q/38726310/73226
mongosulla riga di comando ( mongo --nodbper non connettersi a un database)
show dbsquando, quando sono andato alla documentazione, semplicemente non riuscivo a trovare il show dbscomando da nessuna parte. I "documenti" a volte possono essere piuttosto frustranti.
--eval, solo su una shell interattiva. Le opzioni di questa risposta funzionano (il formato di output è diverso però) stackoverflow.com/a/32192253/1837991
Per MongoDB shell versione 3.0.5 inserire il seguente comando nella shell:
db.adminCommand('listDatabases')
o in alternativa:
db.getMongo().getDBNames()
mongo admin --quiet -u <mongodb_admin> -p [<password>] --eval 'db.getMongo().getDBNames().forEach(function(db){print(db)})'hth
Per l'elenco dei database:
show databases
show dbs
Per l'elenco di tabelle / collezioni:
show collections
show tables
db.getCollectionNames()
Dal problema della riga di comando
mongo --quiet --eval "printjson(db.adminCommand('listDatabases'))"
che dà output
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 978944,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 77824,
"empty" : false
},
{
"name" : "meteor",
"sizeOnDisk" : 778240,
"empty" : false
}
],
"totalSize" : 1835008,
"ok" : 1
}
Per elencare il database mongodb sulla shell
show databases //Print a list of all available databases.
show dbs // Print a list of all databases on the server.
Pochi altri comandi di base
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.
Ho trovato una soluzione, in cui admin () / altri non ha funzionato.
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 dbsnella console di mongo, ti preghiamo di consultare lauseful linkssezione nel tag mongodb wiki , prima di pubblicare una domanda, a volte potrebbe aiutarti a raggiungere una soluzione più velocemente.