首页 > 解决方案 > mongodb:如何列出所有身份验证数据库中的所有用户

问题描述

我对 Mongo 很陌生,所以这可能是一个愚蠢的问题,但我还没有找到一种方法来列出所有(身份验证)数据库中的所有用户(及其权限)。同样,我还没有找到列出所有(身份验证)数据库的方法。“显示用户”、“显示数据库”和它们的“db.adminCommand(...) 版本似乎都针对当前数据库运行(使用“使用”命令指定的数据库),但我需要的是一个列表所有(!)用户和/或所有(!)数据库,无论这些用户的身份验证数据库如何。

为什么我(认为)我需要这个?好吧,我必须定期为大量用户设置 Mongo 帐户,每个用户都有他/她/他们自己的数据库。几个月后,我不得不删除这些用户和他们的数据库。我有一个 Python 程序可以创建/删除这些用户及其数据库。这一切似乎工作得很好。创建用户时,我给他们自己的 authenticationDatabase(而不是将它们添加到“admin”),并对该数据库具有 ReadWrite 权限。如前所述,所有这些似乎都工作得很好。但是......我需要一种方法来查看在程序运行(创建或删除)之后,是否确实已经创建了用户,或者 Python 程序确实已经删除了数据库。同样,我需要不时查看所有用户是谁以及我可能仍然拥有哪些数据库。因此,欢迎使用列出所有(身份验证)数据库中的所有用户以及列出所有身份验证数据库中的所有数据库的命令。希望有人可以提供帮助(抱歉读了很久)。R。

标签: mongodb

解决方案


据我所知,没有内置命令可以做到这一点,但实现此功能很简单:

  • 获取数据库列表。
  • 对于每个数据库,获取用户列表。

推荐阅读