- Reference >
- Database Commands >
- Diagnostic Commands >
- listDatabases
listDatabases¶
On this page
Definition¶
-
listDatabases
¶ The
listDatabases
command provides a list of all existing databases along with basic statistics about them. ThelistDatabases
must run against theadmin
database, as in the following example:db.adminCommand( { listDatabases: 1 } )
The value (e.g.
1
) does not affect the output of the command.The
listDatabases
command can take the following optional field:Field Type Description filter
document Optional. A query predicate that determines which databases are listed.
You can specify a condition on any of the database fields returned in its output:
name
sizeOnDisk
empty
shards
New in version 3.4.2.
nameOnly
boolean Optional. A flag to indicate whether the command should return just the database names (which does not require database locks) or return the database names and size information (which does require database locks).
Default is
false
; i.e.listDatabases
returns the name and size information of the databases.New in version 3.4.3.
Output¶
listDatabases
returns a document that contains:
- A field named
databases
whose value is an array of documents, one document for each database. Each document contains:- A
name
field with the database name. - A
sizeOnDisk
field with the total size of the database files on disk in bytes. - An
empty
field specifying whether the database has any data. - For sharded clusters, a
shards
field that includes the shard and the size in bytes of the database on disk for each shard.
- A
- A field named
totalSize
whose value is the sum of all thesizeOnDisk
fields in bytes.
Examples¶
List Database Names and Sizes¶
Run listDatabases
against the admin
database:
db.adminCommand( { listDatabases: 1 } )
The following is an example of a listDatabases
result:
{
"databases" : [
{
"name" : "admin",
"sizeOnDisk" : 83886080,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 83886080,
"empty" : false
},
{
"name" : "test",
"sizeOnDisk" : 83886080,
"empty" : false
}
],
"totalSize" : 251658240,
"ok" : 1
}
List Database Names Only¶
New in version 3.4.3.
Run listDatabases
against the admin
database. Specify
the nameOnly: true
option:
db.adminCommand( { listDatabases: 1, nameOnly: true} )
The following is an example of a listDatabases
results
when run with the nameOnly: true
option:
{
"databases" : [
{
"name" : "admin"
},
{
"name" : "local"
},
{
"name" : "test"
}
],
"ok" : 1
}
List Databases That Match the Filter¶
New in version 3.4.2.
Run listDatabases
against the admin
database. Specify
the filter
option to only list databases that match the specified filter criteria.
For example, the following specifies a filter such that
listDatabases
only returns information on databases whose
name matches the specified regular expression
:
db.adminCommand( { listDatabases: 1, filter: { "name": /^rep/ } } )
See also