On this page
listDatabases
On this page
Definition
listDatabases-
The
listDatabasescommand provides a list of all existing databases along with basic statistics about them. ThelistDatabasesmust run against theadmindatabase, as in the following example:db.adminCommand( { listDatabases: 1 } )The value (e.g.
1) does not affect the output of the command.The
listDatabasescommand can take the following optional field:Field Type Description filterdocument Optional. A query predicate that determines which databases are listed.
You can specify a condition on any of the fields in the output of
listDatabases:namesizeOnDiskemptyshards
New in version 3.6.
nameOnlyboolean Optional. A flag to indicate whether the command should return just the database names, or return both database names and size information.
Returning size information requires locking each database one at a time, while returning only names does not require locking any database.
The default value is
false, solistDatabasesreturns the name and size information of each database.New in version 3.6.
Output
listDatabases returns a document that contains:
- A field named
databaseswhose value is an array of documents, one document for each database. Each document contains:- A
namefield with the database name. - A
sizeOnDiskfield with the total size of the database files on disk in bytes. - An
emptyfield specifying whether the database has any data. - For sharded clusters, a
shardsfield that includes the shard and the size in bytes of the database on disk for each shard.
- A
- A field named
totalSizewhose value is the sum of all thesizeOnDiskfields 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.6.
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.6.
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/ } } )