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
string
情報を検索するユーザーの名前。
args
ドキュメント
任意。 追加の引数を指定するドキュメント。
args
ドキュメントは、次のフィールドをサポートします。フィールドタイプ説明showCredentials
ブール値
任意。 ユーザーのパスワード ハッシュを表示するには、 を
true
に設定します。デフォルトでは、このフィールドは
false
です。showCustomData
ブール値
任意。 Set to
false
to omit the user'scustomData
from the output.デフォルトでは、このフィールドは
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
フィールドが含まれています。
ユーザーを取得して出力からカスタム データを除外するには、 showCustomData
をfalse
に設定して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' ] }