This version of the documentation is archived and no longer supported.


New in version 3.0.0.



Retrieve information, i.e. the name and options, about the collections in a database. Specifically, the command returns a document that contains information with which to create a cursor to the collection information. The mongo shell provides the db.getCollectionInfos() and the db.getCollectionNames().

The command has the following form:

{ listCollections: 1, filter: <document> }

The listCollections command can take the following optional field:

Field Type Description
filter document

Optional. A query expression to filter the list of collections.

You can specify a query expression on the collection name and the collection options. For the available options, see Behavior.


Use a filter to limit the results of listCollections. You can specify a filter on the collection name and the following collection options:

  • "options.capped"
  • "options.autoIndexId"
  • "options.size"
  • "options.max"
  • "options.flags"
  • "options.storageEngine"

The options correspond directly to the options available in db.createCollection(), with the exception of the "options.flags". The "options.flags" corresponds to the usePowerOf2Sizes and the noPadding options in the db.createCollection() method:


MongoDB 3.0 ignores the usePowerOf2Sizes flag. See collMod and db.createCollection() for more information.

For the descriptions on the options, see db.createCollection().



A document that contains information with which to create a cursor to documents that contain collection names and options. The cursor information includes the cursor id, the full namespace for the command, as well as the first batch of results.


The return value for the command. A value of 1 indicates success.

Required Access

The user executing the command requires either find privileges on the system.namespaces collection or the listCollections privilege action. At a minimum, the read built-in role provide the requisite permissions.


List All Collections

The following example uses the db.getCollectionInfos() helper to return information for all collections in the records database:

use records
←   dropDatabase drop  →