listDatabases

在本页面

Definition

  • listDatabases
    • listDatabases命令提供所有现有数据库的列表以及有关它们的基本统计信息。 listDatabases必须针对admin数据库运行,如以下示例所示:
db.adminCommand( { listDatabases: 1 } )

值(例如1)不会影响命令的输出。

listDatabases命令可以采用以下可选字段:

FieldTypeDescription
filterdocument可选的。一个查询谓词,用于确定列出了哪些数据库。


您可以在listDatabases的输出中的任何字段上指定条件:
name
sizeOnDisk
empty
shards
3.6 版中的新功能。
| nameOnly |布尔值|可选。一个标志,指示命令是只返回数据库名称,还是返回数据库名称和大小信息。
返回大小信息需要一次锁定每个数据库,而仅返回名称不需要锁定任何数据库。
默认值为false,因此listDatabases返回每个数据库的名称和大小信息。
3.6 版中的新功能。

Output

listDatabases返回包含以下内容的文档:

  • 一个名为databases的字段,其值是一组文档,每个数据库一个文档。每个文档包含:

  • 具有数据库名称的name字段。

    • sizeOnDisk字段,其中包含磁盘上数据库文件的总大小(以字节为单位)。

    • empty字段,指定数据库是否有任何数据。

    • 对于分片群集,shards字段包含分片以及每个分片在磁盘上数据库的大小(以字节为单位)。

  • 名为totalSize的字段,其值是所有sizeOnDisk字段的总和(以字节为单位)。

Examples

列出数据库名称和大小

admin数据库运行listDatabases

db.adminCommand( { listDatabases: 1 } )

以下是listDatabases结果的示例:

{
   "databases" : [
      {
         "name" : "admin",
         "sizeOnDisk" : 83886080,
         "empty" : false
      },
      {
         "name" : "local",
         "sizeOnDisk" : 83886080,
         "empty" : false
      },
      {
         "name" : "test",
         "sizeOnDisk" : 83886080,
         "empty" : false
      }
   ],
   "totalSize" : 251658240,
   "ok" : 1
}

仅列出数据库名称

3.6 版的新功能。

admin数据库运行listDatabases。指定nameOnly: true选项:

db.adminCommand( { listDatabases: 1, nameOnly: true} )

以下是使用nameOnly: true选项运行时listDatabases结果的示例:

{
   "databases" : [
      {
         "name" : "admin"
      },
      {
         "name" : "local"
      },
      {
         "name" : "test"
      }
   ],
   "ok" : 1
}

列出与过滤器匹配的数据库

3.6 版的新功能。

admin数据库运行listDatabases。指定filter选项仅列出符合指定过滤条件的数据库。

例如,以下内容指定一个过滤器,以使listDatabases仅返回名称与指定的regular expression匹配的数据库的信息:

db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )

Sharded Clusters

针对mongos实例listDatabases执行时:

  • 如果nameOnly: false,则将shards嵌入式文档添加到每个数据库的摘要文档中,并且

  • 排除local数据库。

shards嵌入式文档中的每个元素都包含一个字段,该字段的键给出该分片上集合的名称,并且其值表示该集合的大小(以字节为单位)。

sizeOnDisk字段代表所有列出的集合的总大小。

For example:

{
  "databases" : [
    {
      "name" : "admin",
      "sizeOnDisk" : 16384,
      "empty" : false,
      "shards" : {
        "config" : 16384
      }
    },
    {
      "name" : "config",
      "sizeOnDisk" : 176128,
      "empty" : false,
      "shards" : {
        "clients" : 28672,
        "patients" : 8192,
        "config" : 139264
      }
    },
    {
      "name" : "test",
      "sizeOnDisk" : 12288,
      "empty" : false,
      "shards" : {
        "clients" : 12288
      }
    }
  ],
  "totalSize" : 204800,
  "totalSizeMb" : 0,
  "ok" : 1
}