listRoles - 获取所有角色的信息
db.listRoles( [options] )
Sdb
falsefalse函数执行成功时,将返回一个 SdbCursor 类型的对象。通过该对象获取所有角色的详细信息。
函数执行失败时,将抛异常并输出错误信息。
常见异常如下:
| 错误码 | 错误类型 | 描述 | 解决方法 |
|---|---|---|---|
| -409 | SDB_AUTH_ROLE_NOT_EXIST | 指定角色不存在 |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v5.8 及以上版本
在集群中打印所有自定义角色,不开启 ShowPrivileges 选项
> db.listRoles()
{
"_id": {
"$oid": "64c0eb5e8c7c328f60bc6d71"
},
"Role": "foo_developer",
"Roles": [
"_foo.readWrite"
],
"InheritedRoles": [
"_foo.readWrite"
]
}在集群中打印所有自定义角色,开启 ShowPrivileges 选项
> db.listRoles({ShowPrivileges:true})
{
"_id": {
"$oid": "64c0eb5e8c7c328f60bc6d71"
},
"Role": "foo_developer",
"Privileges": [
{
"Resource": {
"Cluster": true
},
"Actions": [
"snapshot"
]
}
],
"Roles": [
"_foo.readWrite"
],
"InheritedRoles": [
"_foo.readWrite"
],
"InheritedPrivileges": [
{
"Resource": {
"Cluster": true
},
"Actions": [
"snapshot"
]
},
{
"Resource": {
"cs": "foo",
"cl": ""
},
"Actions": [
"find",
"insert",
"update",
"remove",
"getDetail"
]
}
]
}在集群中打印所有自定义角色和内建角色,开启 ShowBuiltinRoles 选项
> db.listRoles({ShowBuiltinRoles:true})
{
"Role": "_root",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_clusterAdmin",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_clusterMonitor",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_backup",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_dbAdmin",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_userAdmin",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_exact.read",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_exact.readWrite",
"Roles": [],
"InheritedRoles": []
}
{
"Role": "_exact.admin",
"Roles": [],
"InheritedRoles": []
}