문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

listDatabases

이 페이지의 내용

  • 정의
  • 구문
  • 명령 필드
  • 행동
  • 예제
  • 출력
listDatabases

listDatabases 명령은 모든 기존 데이터베이스 목록과 이에 대한 기본 통계를 제공합니다. 다음 예제와 같이 listDatabasesadmin 데이터베이스에 대해 실행되어야 합니다.

db.adminCommand(
{
listDatabases: 1
}
)

값(예: 1은는 명령의 출력에 영향을 주지 않습니다.

이 명령은 다음과 같은 선택적 필드를 사용할 수 있습니다.

필드
유형
설명
filter
문서

선택 사항입니다. 나열되는 데이터베이스를 결정하는 쿼리 조건자입니다.

listDatabases 출력의 모든 필드에 조건을 지정할 수 있습니다.

  • name

  • sizeOnDisk

  • empty

  • shards

nameOnly
부울

선택 사항. 명령이 데이터베이스 이름만 반환할지, 아니면 데이터베이스 이름과 크기 정보를 모두 반환할지를 나타내는 플래그입니다.

크기 정보를 반환하려면 각 데이터베이스를 한 번에 하나씩 잠가야 하지만, 이름만 반환하려면 데이터베이스를 잠그지 않아도 됩니다.

기본값은 false 이므로 listDatabases 는 각 데이터베이스의 이름과 크기 정보를 반환합니다.

authorizedDatabases
부울

선택 사항입니다. 액세스 제어가 활성화된 경우 사용자 권한을 기반으로 반환되는 데이터베이스를 결정하는 플래그입니다.

  • authorizedDatabases가 지정되지 않은 경우 및

    • 사용자가 클러스터 리소스에 대해 listDatabases 작업을 수행하는 경우 listDatabases 명령은 모든 데이터베이스를 반환합니다.

    • 사용자가 cluster에서 listDatabases 조치를 수행하지 않는 경우:

      • MongoDB 4 의 경우.0.6+, listDatabases 명령은 사용자에게 권한이 있는 데이터베이스만 반환합니다(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함).

      • MongoDB의 경우 4.0.5, listDatabases 명령은 사용자가 데이터베이스 리소스(컬렉션 리소스가 아님)에 대해 find 작업을 수행한 데이터베이스만 반환합니다.

  • authorizedDatabasestrue인 경우,

    • MongoDB 4 의 경우.0.6+, listDatabases 명령은 사용자에게 권한이 있는 데이터베이스만 반환합니다(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함).

    • MongoDB의 경우 4.0.5, listDatabases 명령은 사용자가 데이터베이스 리소스(컬렉션 리소스가 아님)에 대해 find 작업을 수행한 데이터베이스만 반환합니다.

  • authorizedDatabasesfalse인 경우 및

    • 사용자가 클러스터에 대해 listDatabases 작업을 수행하는 경우 listDatabases 명령은 모든 데이터베이스를 반환합니다.

    • 사용자에게 클러스터에 대한 listDatabases 조치가 없는 경우, 권한 부족으로 인한 listDatabases 명령 오류가 발생합니다.

자세한 내용은 동작을 참조하세요.

comment
어떤

선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.

댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다.

인증이 활성화되면 listDatabases 명령은 명령을 실행하는 사용자에게 할당된 권한과 authorizedDatabases 명령 옵션에 따라 다른 값을 반환합니다.

  • authorizedDatabases가 지정되지 않은 경우 및

    • 사용자가 클러스터 리소스에 대해 listDatabases 작업을 수행하는 경우 listDatabases 명령은 모든 데이터베이스를 반환합니다.

    • 사용자에게 클러스터에 대한 listDatabases 작업이 없는 경우 listDatabases 명령은 사용자에게 권한이 있는 데이터베이스(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함)만 반환합니다.

  • authorizedDatabasestrue 인 경우 listDatabases 명령은 사용자에게 권한이 있는 데이터베이스(사용자가 특정 컬렉션에 대한 권한이 있는 데이터베이스 포함)만 반환합니다.

  • authorizedDatabasesfalse인 경우 및

    • 사용자가 클러스터에 대해 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
}

admin 데이터베이스에 대해 listDatabases 를 실행합니다. nameOnly: true 옵션을 지정합니다.

db.adminCommand( { listDatabases: 1, nameOnly: true} )

다음은 nameOnly: true 옵션으로 실행할 때 listDatabases 결과의 예입니다.

{
"databases" : [
{
"name" : "admin"
},
{
"name" : "local"
},
{
"name" : "test"
}
],
"ok" : 1
}

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

유형: 배열

단일 데이터베이스에 대한 정보를 각각 담고 있는 문서 배열입니다.

listDatabases.databases.name

유형: 문자열

데이터베이스의 이름입니다.

listDatabases.databases.sizeOnDisk

유형: 유형: 정수

디스크에 있는 데이터베이스 파일의 총 크기(바이트 단위)입니다.

listDatabases.databases.empty

유형: 부울

데이터베이스가 비어 있는지 여부를 지정합니다.

listDatabases.databases.shards

유형: 문서

shards 문서의 각 요소는 키가 해당 샤드의 collection 이름을 제공하고 값이 collection 크기(바이트)를 나타내는 필드로 구성됩니다.

shards nameOnly: false인 경우에만 출력에 나타납니다.

자세한 내용은 샤딩된 클러스터를 참조하세요.

listDatabases.totalSize

유형: 유형: 정수

모든 sizeOnDisk 필드의 합계입니다(바이트 단위).

listDatabases.totalSizeMb

유형: 유형: 정수

모든 sizeOnDisk 필드의 합계로, 메가바이트 단위로 표시됩니다.

listDatabases.ok

유형: 유형: 정수

명령의 반환 값입니다. 값이 1이면 성공입니다.

← listCollections (영문)