MongoDB: 显示当前用户
在本文中,我们将介绍如何在MongoDB中显示当前用户的方法。
阅读更多:MongoDB 教程
方法一:使用db.runCommand({connectionStatus:1})
MongoDB提供了一个runCommand方法来执行命令。我们可以使用db.runCommand({connectionStatus:1})来显示当前用户。
例如,我们可以在MongoDB shell中输入以下命令:
> db.runCommand({connectionStatus:1})
这将返回当前连接状态及当前用户的相关信息,如下所示:
{
"authInfo": {
"authenticatedUsers": [
{
"user": "user1",
"db": "test"
}
],
"authenticatedUserRoles": [
{
"role": "readWrite",
"db": "test"
}
]
},
"ok": 1
}
在这个示例中,我们可以看到当前用户是”user1″,并且他被授予了在”test”数据库中读写的角色。
方法二:使用db.getUser()
除了使用runCommand方法外,我们还可以使用getUser方法来显示当前用户。
例如,我们可以在MongoDB shell中输入以下命令:
> db.getUser()
这将返回当前用户的相关信息,如下所示:
{
"_id" : "admin.user2",
"user" : "user2",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "dbAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
]
}
在这个示例中,我们可以看到当前用户是”user2″,并且他被授予了在”admin”数据库中的userAdminAnyDatabase、dbAdminAnyDatabase和readWriteAnyDatabase角色。
方法三:使用db.getUsers()
除了显示当前用户之外,我们还可以使用getUsers方法来查看所有已经在数据库中创建的用户。
例如,我们可以在MongoDB shell中输入以下命令:
> db.getUsers()
这将返回所有用户的相关信息,如下所示:
[
{
"_id" : "admin.user1",
"user" : "user1",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "dbAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
]
},
{
"_id" : "admin.user2",
"user" : "user2",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "dbAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
]
}
]
在这个示例中,我们可以看到在”admin”数据库中创建了两个用户,分别是”user1″和”user2″,并且他们被授予了相应的角色。
总结
本文介绍了MongoDB中显示当前用户的三种方法:使用db.runCommand({connectionStatus:1})、使用db.getUser()和使用db.getUsers()。通过这些方法,我们可以轻松地查看当前用户以及在数据库中已经创建的用户的相关信息。这些方法对于数据库管理和权限控制非常有用。希望本文对大家理解MongoDB中显示当前用户的方法有所帮助。