db.getUser()
On this page本页内容
Definition定义
db.getUser(username, args)
-
Returns user information for a specified user. Run this method on the user's database.返回指定用户的用户信息。在用户的数据库上运行此方法。If the user doesn't exist in the database,如果数据库中不存在用户,那么db.getUser()
returnsnull
.db.getUser()
将返回null
。Thedb.getUser()
method has the following parameters:db.getUser()
方法具有以下参数:db.getUser( "<username>", {
showCredentials: <Boolean>,
showCustomData: <Boolean>,
showPrivileges: <Boolean>,
showAuthenticationRestrictions: <Boolean>,
filter: <document>
} )Parameter参数Type类型Description描述username
string The name of the user for which to retrieve information.要检索其信息的用户的名称。args
document Optional.可选的。A document specifying additional arguments.指定附加参数的文档。Theargs
document supports the following fields:args
文档支持以下字段:Field字段Type类型Description描述showCredentials
boolean Optional.可选的。Set to设置为true
to display the user's password hash.true
可显示用户的密码哈希。
By default, this field is默认情况下,此字段为false
.false
。showCustomData
boolean Optional.可选的。Set to设置为false
to omit the user'scustomData
from the output.false
可从输出中省略用户的customData
。
By default, this field is默认情况下,此字段为true
.true
。
New in version 5.2.5.2版新增。showPrivileges
boolean Optional.可选的。Set to设置为true
to show the user's full set of privileges, including expanded information for the inherited roles.true
可显示用户的全套权限,包括继承角色的扩展信息。
By default, this field is默认情况下,此字段为false
.false
。
If viewing all users, you cannot specify this field.如果查看所有用户,则不能指定此字段。showAuthenticationRestrictions
boolean Optional.可选的。Set to设置为true
to show the user's authentication restrictions.true
以显示用户的身份验证限制。
By default, this field is默认情况下,此字段为false
.false
。
If viewing all users, you cannot specify this field.如果查看所有用户,则不能指定此字段。filter
document Optional.可选的。A document that specifies指定$match
stage conditions to return information for users that match the filter conditions.$match
阶段条件以返回与筛选条件匹配的用户信息的文档。db.getUser()
wraps the包装usersInfo: <username>
command.usersInfo: <username>
命令。For details on output, see有关输出的详细信息,请参阅usersInfo
.usersInfo
。
Required Access所需访问权限
To view another user's information, you must have the 若要查看其他用户的信息,必须对其他用户的数据库执行viewUser
action on the other user's database.viewUser
操作。
Users can view their own information.用户可以查看自己的信息。
Examples实例
The following operations return information about an example 以下操作返回appClient
user in an accounts
database:accounts
数据库中示例appClient
用户的信息:
use accounts
db.getUser("appClient")
Example output:示例输出:
{
_id: 'accounts.appClient',
userId: UUID("1c2fc1bf-c4dc-4a22-8b04-3971349ce0dc"),
user: 'appClient',
db: 'accounts',
roles: [],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
Omit Custom Data from Output从输出中省略自定义数据
New in version 5.2:5.2版新增:To omit a user's custom data from the 要从db.getUser()
output, set the showCustomData
option to false
.db.getUser()
输出中省略用户的自定义数据,请将showCustomData
选项设置为false
。
Use the 使用createUser
command to create a user named accountAdmin01
on the products
database:createUser
命令在products
数据库上创建一个名为accountAdmin01
的用户:
db.getSiblingDB("products").runCommand( {
createUser: "accountAdmin01",
pwd: passwordPrompt(),
customData: { employeeId: 12345 },
roles: [ { role: 'readWrite', db: 'products' } ]
} )
The user contains a 用户包含customData
field of { employeeId: 12345 }
.{ employeeId: 12345 }
的customData
字段。
To retrieve the user but omit the custom data from the output, run 要检索用户但从输出中省略自定义数据,请在db.getUser()
with showCustomData
set to false
:showCustomData
设置为false
的情况下运行db.getUser()
:
db.getSiblingDB("products").getUser(
"accountAdmin01",
{ showCustomData: false }
)
Example output:输出示例:
{
_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' ]
}