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.
db
mostra che il database corrente è test
ma questo non è elencato tramite nessuno dei comandi in questa pagina che è spiegato qui stackoverflow.com/q/38726310/73226
mongo
sulla riga di comando ( mongo --nodb
per non connettersi a un database)
show dbs
quando, quando sono andato alla documentazione, semplicemente non riuscivo a trovare il show dbs
comando 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 dbs
nella console di mongo, ti preghiamo di consultare lauseful links
sezione nel tag mongodb wiki , prima di pubblicare una domanda, a volte potrebbe aiutarti a raggiungere una soluzione più velocemente.