MongoDB 셸에서 데이터베이스 목록을 확인할 때 사용하는 show dbs와 show databases 명령어에 대해 궁금해하는 개발자가 많습니다. 결론부터 말하면, 두 명령어 사이에는 어떠한 차이도 없습니다.
내부 동작 원리
두 명령어는 이름만 다를 뿐, 내부적으로는 완전히 동일하게 동작합니다. MongoDB 셸은 두 명령을 모두 listDatabases 관리 명령으로 변환하여 서버에 전달하기 때문에, 실행 결과도 항상 같습니다. 따라서 자신이 읽기 편한 쪽을 골라 사용하면 됩니다.
show dbs 명령어 사용 예시
먼저 show dbs 명령어를 실행해 보겠습니다.
> show dbs
실행하면 아래와 같이 서버에 존재하는 모든 데이터베이스와 각각의 디스크 사용량(GB 단위)이 출력됩니다.
admin 0.002GB app 0.000GB business 0.000GB config 0.000GB local 0.000GB main 0.000GB my 0.001GB ok 0.001GB sample 0.003GB sampleDemo 0.000GB studentSearch 0.000GB test 0.034GB university 0.000GB web 0.003GB webcustomertracker 0.000GB
show databases 명령어 사용 예시
이번에는 show databases 명령어를 실행해 보겠습니다.
> show databases
출력 결과를 비교해 보면 앞선 show dbs의 결과와 정확히 일치하는 것을 확인할 수 있습니다.
admin 0.002GB app 0.000GB business 0.000GB config 0.000GB local 0.000GB main 0.000GB my 0.001GB ok 0.001GB sample 0.003GB sampleDemo 0.000GB studentSearch 0.000GB test 0.034GB university 0.000GB web 0.003GB webcustomertracker 0.000GB
참고 사항
출력 목록에는 admin, config, local처럼 MongoDB가 시스템 용도로 자동 생성하는 기본 데이터베이스도 함께 표시됩니다. 또한 한 가지 주의할 점은, 데이터가 하나도 저장되지 않은 빈 데이터베이스는 이 목록에 나타나지 않는다는 것입니다. 실제로 데이터를 삽입해야 해당 데이터베이스가 목록에 표시됩니다.
정리
show dbs와 show databases는 완전히 동일한 명령어이며, 둘 다 내부적으로 listDatabases 명령을 호출합니다. 성능이나 기능상의 차이는 전혀 없으므로, 선호하는 표기 방식을 자유롭게 사용하시면 됩니다.