举例说明如何在MongoDB中列出用户

182 阅读3分钟

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

Text, logo Description automatically generated with medium confidence

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

> db.getUsers()

Text Description automatically generated

有两个用户可以访问 "linuxhint"数据库。上述输出中的"_id"字段是通过连接数据库名称和 "用户"名称创建的。

例2:使用getUsers()来获取密码哈希值

如前所述,MongoDB的 "getUsers()"方法支持两个选项。让我们在同一个数据库**(linuxhint**)上应用getUsers()方法,并将 "showCredentials"值设置为 "true"。下面的命令将返回所有用户的密码哈希值。

> db.getUsers({"showCredentials: true"})

Text Description automatically generated

Text Description automatically generated

例3:获取用户数量

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

> db.getUsers().length

A screenshot of a video game Description automatically generated with medium confidence

例4:使用show users来获取所有用户

MongoDB中的 "show users"方法也显示了可以访问特定数据库的用户数量。下面的命令列出了 "test"数据库中的用户。

> show users

总结

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