listDatabases
정의
listDatabases
listDatabases
명령은 모든 기존 데이터베이스 목록과 이에 대한 기본 통계를 제공합니다. 다음 예제와 같이listDatabases
는admin
데이터베이스에 대해 실행되어야 합니다.db.adminCommand( { listDatabases: 1 } ) 값(예:
1
은는 명령의 출력에 영향을 주지 않습니다.listDatabases
명령은 다음과 같은 선택적 필드를 사용할 수 있습니다.필드유형설명filter
문서선택 사항입니다. 나열되는 데이터베이스를 결정하는 쿼리 조건자입니다.
listDatabases
출력의 모든 필드에 조건을 지정할 수 있습니다.name
sizeOnDisk
empty
shards
nameOnly
부울선택 사항. 명령이 데이터베이스 이름만 반환할지, 아니면 데이터베이스 이름과 크기 정보를 모두 반환할지를 나타내는 플래그입니다.
크기 정보를 반환하려면 각 데이터베이스를 한 번에 하나씩 잠가야 하지만, 이름만 반환하려면 데이터베이스를 잠그지 않아도 됩니다.
기본값은
false
이므로listDatabases
는 각 데이터베이스의 이름과 크기 정보를 반환합니다.authorizedDatabases
부울선택 사항입니다. 액세스 제어가 활성화된 경우 사용자 권한을 기반으로 반환되는 데이터베이스를 결정하는 플래그입니다.
authorizedDatabases
가 지정되지 않은 경우 및사용자가 클러스터 리소스에 대해
listDatabases
작업을 수행하는 경우listDatabases
명령은 모든 데이터베이스를 반환합니다.사용자에게 클러스터에 대한
listDatabases
작업이 없는 경우listDatabases
는 사용자에게 권한이 있는 데이터베이스만 반환합니다(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함).
authorizedDatabases
가true
인 경우listDatabases
는 사용자에게 권한이 있는 데이터베이스만 반환합니다(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함).authorizedDatabases
가false
인 경우 및사용자가 클러스터에 대해
listDatabases
작업을 수행하는 경우listDatabases
명령은 모든 데이터베이스를 반환합니다.사용자에게 클러스터에 대한
listDatabases
조치가 없는 경우, 권한 부족으로 인한listDatabases
명령 오류가 발생합니다.
자세한 내용은 동작을 참조하세요.
comment
어떤선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.
mongod 로그 메시지(
attr.command.cursor.comment
필드).데이터베이스 프로파일러 출력의
command.comment
필드에 있습니다.currentOp
{command.comment
5} 필드에 출력을 입력합니다.
댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다.
행동
인증이 활성화되면 listDatabases
명령은 명령을 실행하는 사용자에게 할당된 권한과 authorizedDatabases
명령 옵션에 따라 다른 값을 반환합니다.
authorizedDatabases
가 지정되지 않은 경우 및사용자가 클러스터 리소스에 대해
listDatabases
조치를 수행하는 경우listDatabases
명령은 모든 데이터베이스를 반환합니다.사용자가 클러스터에 대해
listDatabases
조치를 수행하지 않는 경우listDatabases
명령은 사용자에게 권한이 있는 데이터베이스만 반환합니다(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함).
authorizedDatabases
이true
인 경우listDatabases
명령은 사용자에게 권한이 있는 데이터베이스(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함)만 반환합니다.authorizedDatabases
가false
인 경우 및사용자가 클러스터에 대해
listDatabases
작업을 수행하는 경우listDatabases
명령은 모든 데이터베이스를 반환합니다.사용자에게 클러스터에 대한
listDatabases
조치가 없는 경우, 권한 부족으로 인한listDatabases
명령 오류가 발생합니다.
클라이언트 연결 해제
MongoDB 4.2부터 listDatabases
를 발급한 클라이언트가 작업이 완료되기 전에 연결을 끊는 경우, MongoDB는 listDatabases
를 사용하여 를killOp
을 종료로 표시합니다.
복제본 세트 구성원 국가 제한
복제본 세트 노드에서 실행하는 경우 listDatabases
작업을 수행하려면 해당 노드가 PRIMARY
또는 SECONDARY
상태에 있어야 합니다. 노드가 STARTUP2
와 같은 다른 상태에 있으면 작업 오류가 발생합니다.
예제
데이터베이스 이름 및 크기 나열
admin
데이터베이스에 대해 listDatabases
를 실행합니다.
db.adminCommand( { listDatabases: 1 } )
다음은 listDatabases
결과의 예입니다.
{ "databases" : [ { "name" : "admin", "sizeOnDisk" : 83886080, "empty" : false }, { "name" : "local", "sizeOnDisk" : 83886080, "empty" : false }, { "name" : "test", "sizeOnDisk" : 83886080, "empty" : false } ], "totalSize" : 251658240, "totalSizeMb" : 251, "ok" : 1 }
데이터베이스 이름만 나열
버전 3.6에 새로 추가되었습니다.
admin
데이터베이스에 대해 listDatabases
를 실행합니다. nameOnly: true
옵션을 지정합니다.
db.adminCommand( { listDatabases: 1, nameOnly: true} )
다음은 nameOnly: true
옵션으로 실행할 때 listDatabases
결과의 예입니다.
{ "databases" : [ { "name" : "admin" }, { "name" : "local" }, { "name" : "test" } ], "ok" : 1 }
필터와 일치하는 데이터베이스 목록
버전 3.6에 새로 추가되었습니다.
admin
데이터베이스에 대해 listDatabases
를 실행합니다. 지정된 필터 기준과 일치하는 데이터베이스만 나열하려면 filter
옵션을 지정합니다.
예를 들어, 다음은 listDatabases
가 지정된 regular expression
과 이름이 일치하는 데이터베이스의 정보만 반환하도록 필터를 지정합니다.
db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )
샤드 클러스터
mongos
인스턴스에 대해 실행되는 경우 listDatabases
는 다음을 수행합니다.
nameOnly: false
인 경우 각 데이터베이스의 요약 문서에shards
포함된 문서를 추가하고local
데이터베이스를 제외합니다.
shards
포함된 문서의 각 요소는 키가 해당 샤드의 컬렉션 이름을 제공하고 값이 컬렉션 크기(바이트)를 나타내는 필드로 구성됩니다.
sizeOnDisk
필드는 나열된 모든 컬렉션 및 인덱스의 총 크기를 나타냅니다.
예를 들면 다음과 같습니다.
{ "databases" : [ { "name" : "admin", "sizeOnDisk" : 16384, "empty" : false, "shards" : { "config" : 16384 } }, { "name" : "config", "sizeOnDisk" : 176128, "empty" : false, "shards" : { "clients" : 28672, "patients" : 8192, "config" : 139264 } }, { "name" : "test", "sizeOnDisk" : 12288, "empty" : false, "shards" : { "clients" : 12288 } } ], "totalSize" : 204800, "totalSizeMb" : 0, "ok" : 1 }
출력
listDatabases.databases.shards
유형: 문서
shards
문서의 각 요소는 키가 해당 샤드의 collection 이름을 제공하고 값이 collection 크기(바이트)를 나타내는 필드로 구성됩니다.shards
nameOnly: false
인 경우에만 출력에 나타납니다.자세한 내용은 샤딩된 클러스터를 참조하세요.