Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

db.getUser()

이 페이지의 내용

  • 정의
  • 호환성
  • 필요한 액세스 권한
  • 예시
db.getUser(username, args)

지정된 사용자에 대한 사용자 정보를 반환합니다. 사용자의 데이터베이스에서 이 메서드를 실행합니다. 사용자가 데이터베이스에 없으면 db.getUser()(이)가 null(을)를 반환합니다.

db.getUser() 메서드에는 다음과 같은 매개변수가 있습니다.

db.getUser( "<username>", {
showCredentials: <Boolean>,
showCustomData: <Boolean>,
showPrivileges: <Boolean>,
showAuthenticationRestrictions: <Boolean>,
filter: <document>
} )
Parameter
유형
설명

username

문자열

정보를 검색할 사용자의 이름입니다.

args

문서

선택 사항입니다. 추가 인수를 지정하는 문서입니다.

args 문서는 다음 필드를 지원합니다.

필드
유형
설명

showCredentials

부울

선택 사항입니다. 사용자의 비밀번호 해시를 표시하려면 true로 설정합니다.

기본적으로 이 필드는 false입니다.

showCustomData

부울

선택 사항입니다. 출력에서 사용자의 customData를 생략하려면 false로 설정합니다.

기본적으로 이 필드는 true입니다.

버전 5.2에 추가되었습니다.

showPrivileges

부울

선택 사항입니다. 상속된 역할에 대한 확장된 정보를 포함하여 사용자의 전체 권한 세트를 표시하려면 true 로 설정합니다.

기본적으로 이 필드는 false입니다.

모든 사용자를 보는 경우에는 이 필드를 지정할 수 없습니다.

showAuthenticationRestrictions

부울

선택 사항입니다. 사용자의 인증 제한을 표시하려면 true로 설정합니다.

기본적으로 이 필드는 false입니다.

모든 사용자를 보는 경우에는 이 필드를 지정할 수 없습니다.

filter

문서

선택 사항. 필터 조건과 일치하는 사용자에 대한 정보를 반환하기 위해 $match 단계 조건을 지정하는 문서입니다.

db.getUser()usersInfo: <username> 명령을 래핑합니다.

출력에 대한 자세한 내용은 usersInfo을(를) 참조하세요.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

중요

이 명령은 MongoDB Atlas 클러스터에서 지원되지 않습니다. 모든 명령에 대한 Atlas 지원 에 대한 자세한 내용은 지원되지 않는 명령을 참조하세요.

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

다른 사용자의 정보를 확인하려면 다른 사용자의 데이터베이스에 viewUser 조치가 있어야 합니다.

사용자는 자신의 정보를 확인할 수 있습니다.

다음 연산은 accounts 데이터베이스의 예시 appClient 사용자에 대한 정보를 반환합니다.

use accounts
db.getUser("appClient")

출력 예시:

{
_id: 'accounts.appClient',
userId: UUID("1c2fc1bf-c4dc-4a22-8b04-3971349ce0dc"),
user: 'appClient',
db: 'accounts',
roles: [],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}

버전 5.2의 새로운 기능: db.getUser() 출력에서 사용자의 사용자 지정 데이터를 생략하려면 showCustomData 옵션을 false(으)로 설정하세요.

createUser 명령을 사용하여 products 데이터베이스에 accountAdmin01이라는 사용자를 생성합니다.

db.getSiblingDB("products").runCommand( {
createUser: "accountAdmin01",
pwd: passwordPrompt(),
customData: { employeeId: 12345 },
roles: [ { role: 'readWrite', db: 'products' } ]
} )

사용자에 { employeeId: 12345 }customData 필드가 포함됩니다.

사용자를 조회하되 출력에서 사용자 지정 데이터를 생략하려면 showCustomDatafalse로 설정한 상태에서 db.getUser()를 실행합니다.

db.getSiblingDB("products").getUser(
"accountAdmin01",
{ showCustomData: false }
)

출력 예시:

{
_id: 'products.accountAdmin01',
userId: UUID("0955afc1-303c-4683-a029-8e17dd5501f4"),
user: 'accountAdmin01',
db: 'products',
roles: [ { role: 'readWrite', db: 'products' } ],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}

돌아가기

db.dropAllUsers