MongoDB是一个NoSQL类型的数据库,支持各种命令来修改和访问任何文件。在这些命令的帮助下,开发人员可以检查或列出MongoDB中数据库的用户。这似乎很正常,但如果有大量的关键数据,那么检查访问它的用户就很重要,以避免数据出现任何意外。通过这种方式,组织可以将数据保存在安全的手中,或者只允许受信任的人访问它。
在这篇文章中,我们将列出几个命令及其相关的例子,以列出当前被允许使用该数据库的用户。
如何在MongoDB中列出用户
Mongo shell支持几个命令,这些命令是专门用来获取MongoDB shell的用户的。在这方面可以遵循以下命令和语法。
使用 "getUsers() "的语法
db.getUsers(<options>)
注意: 字段(<options>)是可选的;这意味着你可以在不指定选项的情况下获得用户列表。尽管它们可以让你得到你所要求的结果。
上述字段中的<**选项>**可以是以下参数之一。
showCredentials: <Boolean>
你可以通过使用 "db.getUsers(<>) "中的 "showCredentials:"来获得任何用户的密码哈希值**。** "这个选项接受<**布尔>**值,可以是真或假。默认情况下,布尔值是 "False"。
filter: <document>
过滤器选项可以用来获得与过滤器选项中指定的文档/条件相匹配的输出。
使用 "显示用户 "的语法
显示用户
这两种语法都可以用来获得用户的列表。
如何在MongoDB中列出用户
在本节中,我们将向你展示如何列出MongoDB数据库中的用户。
例1:使用db.getUser()列出用户名单
我们在这里使用一个名为 "linuxhint"的数据库。你可以使用任何数据库(必须存在于你的MongoDB上),并且可以像我们在下面提到的命令中那样连接到它。
> use linuxhint

首先,我们使用下面的命令来获取当前数据库中的用户数量。
> db.getUsers()

有两个用户可以访问 "linuxhint"数据库。上述输出中的"_id"字段是通过连接数据库名称和 "用户"名称创建的。
例2:使用getUsers()来获取密码哈希值
如前所述,MongoDB的 "getUsers()"方法支持两个选项。让我们在同一个数据库**(linuxhint**)上应用getUsers()方法,并将 "showCredentials"值设置为 "true"。下面的命令将返回所有用户的密码哈希值。
> db.getUsers({"showCredentials: true"})


例3:获取用户数量
人们可以获得数据库中用户的数量(一个数值),通过这种方式,他们可以跳过/忽略任何用户的详细信息。所以,要想获得准确的用户数量,可以使用下面的命令。
> db.getUsers().length

例4:使用show users来获取所有用户
MongoDB中的 "show users"方法也显示了可以访问特定数据库的用户数量。下面的命令列出了 "test"数据库中的用户。
> show users
总结
MongoDB支持的方法和命令可以用来处理数据库中的数据。这种处理可以是任何类型的,比如对数据进行排序、更新文档或获取数据库用户列表。本文列出了在MongoDB数据库中获取用户详细信息的可能方法。我们已经解释了两种获得用户列表的方法。此外,你也可以得到一个代表用户总数的数字。通过遵循本指南,数据库管理员可以观察到在数据库中工作的用户,同时也可以查看分配给他们的角色。