특정 데이터베이스에 모든 컬렉션 을 나열 하는 방법을 알고 있지만 MongoDB 셸에서 사용 가능한 모든 데이터베이스를 어떻게 나열합니까?
답변
mongoDB 콘솔에 모든 데이터베이스를 나열하는 것은 명령을 사용하고 show dbs
있습니다.
이에 대한 자세한 정보는 mongo 쉘 에서 사용할 수있는 Mongo Shell 명령 헬퍼 를 참조하십시오 .
답변
MongoDB 쉘 버전 3.0.5의 경우 쉘에 다음 명령을 삽입하십시오.
db.adminCommand('listDatabases')
또는 대안 적으로 :
db.getMongo().getDBNames()
답변
데이터베이스 목록의 경우 :
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.
답변
admin () / others가 작동하지 않는 솔루션을 찾았습니다.
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()