listDatabases
¶该listDatabases
命令提供所有现有数据库的列表以及有关它们的基本统计信息。在
listDatabases
必须运行对admin
数据库,如下面的例子:
值(例如1
)不会影响命令的输出。
该listDatabases
命令可以采用以下可选字段:
领域 | 类型 | 描述 |
---|---|---|
filter |
文献 | 可选的。一个查询谓词,用于确定列出了哪些数据库。 您可以在以下输出的任何字段上指定条件
3.6版的新功能。 |
nameOnly |
布尔值 | 可选的。一个标志,指示命令是只返回数据库名称,还是返回数据库名称和大小信息。 返回大小信息需要一次锁定每个数据库,而仅返回名称并不需要锁定任何数据库。 默认值为 3.6版的新功能。 |
authorizedDatabases |
布尔值 | 可选的。一个标志,用于在启用访问控制时根据用户特权确定返回哪些数据库。
有关更多信息,请参见行为。 4.0.5版中的新功能。 |
listDatabases
返回包含以下内容的文档:
databases
其值是一组文档,每个数据库一个文档。每个文档包含:name
与数据库名称字段。sizeOnDisk
字段包含磁盘上数据库文件的总大小(以字节为单位)。empty
字段,指定数据库是否具有任何数据。shards
字段包括分片以及每个分片在磁盘上数据库的大小(以字节为单位)。totalSize
其值是所有sizeOnDisk
字段的总和,
以字节为单位。当验证启用:
显示数据库
对于mongo
连接到MongoDB部署早期版本(例如3.6.10)的Shell 4.0.6+版本,
listDatabases
对群集资源有操作,则返回所有数据库。show dbs
listDatabases
对群集资源没有任何操作,则仅返回用户具有特权的数据库(包括用户对特定集合具有特权的那些数据库)。show dbs
对于MongoDB 4.0.6+,listDatabases
命令根据分配给执行命令的用户的特权和authorizedDatabases
命令选项返回不同的值
:
authorizedDatabases
未指定,并且listDatabases
对群集资源有操作,则listDatabases
命令将返回所有数据库。listDatabases
对集群没有任何操作,则listDatabases
命令仅返回用户具有特权的数据库(包括用户对特定集合具有特权的数据库)。authorizedDatabases
为is true
,则listDatabases
命令仅返回用户具有特权的数据库(包括用户对特定集合具有特权的数据库)。authorizedDatabases
是false
,并且listDatabases
对集群有操作,则listDatabases
命令返回所有数据库listDatabases
对群集没有任何操作,请在listDatabases
权限不足的情况下命令错误。对于MongoDB 4.0.5,该listDatabases
命令根据分配给执行该命令的用户的特权和authorizedDatabases
命令选项返回不同的值
:
authorizedDatabases
未指定,并且listDatabases
对群集资源有操作,则listDatabases
命令将返回所有数据库。listDatabases
对群集没有任何操作,则listDatabases
命令仅返回用户find
对其数据库资源(而不是收集资源)具有操作的数据库。authorizedDatabases
为is true
,则listDatabases
命令仅返回用户find
对其数据库资源(而不是集合资源)有
操作的数据库。authorizedDatabases
是false
,并且listDatabases
对集群有操作,则listDatabases
命令返回所有数据库listDatabases
对群集没有任何操作,请在listDatabases
权限不足的情况下命令错误。对于MongoDB 4.0.0-4.0.4,该listDatabases
命令根据分配给执行该命令的用户的特权返回不同的值。
listDatabases
对集群具有特权操作,则该listDatabases
命令将返回所有现有数据库的列表。listDatabases
在集群上没有特权操作,则该
listDatabases
命令仅返回用户对其具有find
操作的数据库列表。从MongoDB 4.2开始,如果发出listDatabases
断开连接的客户端在操作完成之前断开连接,则MongoDB将标记listDatabases
为终止(即killOp
在操作上)。
3.6版的新功能。
listDatabases
针对admin
数据库运行。指定选项:nameOnly: true
以下是listDatabases
使用该选项运行时的结果示例:nameOnly: true
3.6版的新功能。
listDatabases
针对admin
数据库运行。指定filter
仅列出符合指定过滤条件的数据库的选项。
例如,以下内容指定了一个过滤器,该过滤器
listDatabases
仅返回名称与指定名称匹配的数据库的信息:regular expression
针对mongos
实例
执行时listDatabases
:
shards
如果,则将嵌入文档添加到每个数据库的摘要文档中;以及nameOnly: false
local
数据库。shards
嵌入式文档中的每个元素都包含一个字段,该字段的键给出该分片上集合的名称,其值表示该集合的大小(以字节为单位)。
该sizeOnDisk
字段表示所有列出的集合的总大小。
例如:
也可以看看