db.getUsers()
定義
db.getUsers(<options>)
データベース内のすべてのユーザーの情報を返します。
db.getUsers()
はusersInfo: 1
コマンドをラップします。db.getUsers()
メソッドは次のオプションを取ることができます。db.getUsers( { showCredentials: <Boolean>, showCustomData: <Boolean>, filter: <document> } ) フィールドタイプ説明showCredentials
ブール値任意。 ユーザーのパスワード ハッシュを表示するには、 を
true
に設定します。デフォルトでは、このフィールドは
false
です。showCustomData
ブール値任意。 Set to
false
to omit the user'scustomData
from the output.デフォルトでは、このフィールドは
true
です。バージョン 5.2 で追加。
filter
ドキュメント任意。 フィルター条件に一致するユーザーの情報を返すために$match
ステージ条件を指定するドキュメント。詳細については、
usersInfo
を参照してください。
必要なアクセス権
他のユーザーの情報を表示するには、他のユーザーのデータベースに対してviewUser
アクションが必要です。
ユーザーは自分の情報を表示できます。
例
指定したフィルターに一致するデータベースのすべてのユーザーの表示
db.getUsers()
メソッドはfilter
ドキュメントを受け入れて、フィルター条件に一致するユーザーの情報を返すことができます。
現在のデータベースでSCRAM-SHA-256
資格情報を持つすべてのユーザーを表示するには、
db.getUsers({ filter: { mechanisms: "SCRAM-SHA-256" } })
すべてのユーザーを表示する場合は、 showCredentials
オプションを指定できますが、 showPrivileges
またはshowAuthenticationRestrictions
オプションは指定できません。
出力からカスタム データを省略する
バージョン 5.2 の新機能: db.getUsers()
の出力からユーザーのカスタム データを除外するには、 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.getUsers()
を実行します。
db.getSiblingDB("products").getUsers( { showCustomData: false } )
出力例:
{ users: [ { _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' ] } ], ok: 1 }