Я знаю, як перелічити всі колекції в певній базі даних , але як я перерахувати всі наявні бази даних у оболонці MongoDB?
Я знаю, як перелічити всі колекції в певній базі даних , але як я перерахувати всі наявні бази даних у оболонці MongoDB?
Відповіді:
Перерахування всіх баз даних на консолі mongoDB використовується за допомогою команди show dbs
.
Для отримання додаткової інформації про це, зверніться до помічників командної оболонки Монго, які можна використовувати в оболонці монго.
db
показує поточну базу даних, test
але це не перераховано через жодне із посилань на цій сторінці, що пояснюється тут stackoverflow.com/q/38726310/73226
mongo
командний рядок ( mongo --nodb
щоб не підключатися до бази даних)
show dbs
тому, що коли я заходив у документи, просто show dbs
ніде не міг знайти команду. "Документи" часом можуть бути дуже неприємними.
--eval
, лише на інтерактивній оболонці. Параметри цієї відповіді спрацьовують (формат виводу відрізняється, хоча) stackoverflow.com/a/32192253/1837991
Для оболонки MongoDB версії 3.0.5 вставте таку команду в оболонку:
db.adminCommand('listDatabases')
або альтернативно:
db.getMongo().getDBNames()
mongo admin --quiet -u <mongodb_admin> -p [<password>] --eval 'db.getMongo().getDBNames().forEach(function(db){print(db)})'
hth
Для списку баз даних:
show databases
show dbs
Для таблиці / списку колекцій:
show collections
show tables
db.getCollectionNames()
З випуску командного рядка
mongo --quiet --eval "printjson(db.adminCommand('listDatabases'))"
що дає вихід
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 978944,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 77824,
"empty" : false
},
{
"name" : "meteor",
"sizeOnDisk" : 778240,
"empty" : false
}
],
"totalSize" : 1835008,
"ok" : 1
}
Перерахувати базу даних mongodb на оболонці
show databases //Print a list of all available databases.
show dbs // Print a list of all databases on the server.
Трохи більше основних команд
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.
Я знайшов одне рішення, де адміністратор () / інші не працювали.
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
на консолі mongo, будь ласка, перегляньтеuseful links
розділ у wiki тегу mongodb , перш ніж надсилати запитання, іноді може допомогти вам швидше знайти рішення.