Navigation

MongoDB\Database::listCollectionNames()

New in version 1.7.

Definition

MongoDB\Database::listCollectionNames

Returns names for all collections in this database.

function listCollectionNames(array $options = []): Iterator

This method has the following parameters:

Parameter Type Description
$options array Optional. An array specifying the desired options.

The $options parameter supports the following options:

Option Type Description
filter array|object

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

You can specify a query expression for collection fields (e.g. name, options).

maxTimeMS integer Optional. The cumulative time limit in milliseconds for processing operations on the cursor. MongoDB aborts the operation at the earliest following interrupt point.
session MongoDB\Driver\Session

Optional. Client session to associate with the operation.

Sessions are not supported for server versions prior to 3.6.

New in version 1.3.

Return Values

An Iterator, which provides the name of each collection in the database.

Example

The following example lists all of the collections in the test database:

<?php

$database = (new MongoDB\Client)->test;

foreach ($database->listCollectionNames() as $collectionName) {
    var_dump($collectionName);
}

The output would then resemble:

string(11) "restaurants"
string(5) "users"
string(6) "restos"

The following example lists all collections whose name starts with "rest" in the test database:

<?php

$database = (new MongoDB\Client)->test;

$collections = $database->listCollectionNames([
    'filter' => [
        'name' => new MongoDB\BSON\Regex('^rest.*'),
    ],
]);

foreach ($collections as $collectionName) {
    var_dump($collectionName);
}

The output would then resemble:

string(11) "restaurants"
string(6) "restos"

Note

When enumerating collection names, a filter expression can only filter based on a collection’s name and type. No other fields are available.