[mongodb] mongo 쉘의 모든 데이터베이스를 나열하는 방법은 무엇입니까?

특정 데이터베이스에 모든 컬렉션나열 하는 방법을 알고 있지만 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()


답변