MongoDB::listCollections
Gets an array of MongoCollection objects for all collections in this database
Description
public array MongoDB::listCollections
([ array $options
= array()
] )
Note: This method will use the » listCollections database command when communicating with MongoDB 2.8+. For previous database versions, the method will query the special system.namespaces collection.
Parameters
-
options
-
An array of options for listing the collections. Currently available
options include:
"filter"
Optional query criteria. If provided, this criteria will be used to filter the collections included in the result.
Relevant fields that may be queried include "name" (collection name as a string, without the database name prefix) and "options" (object containing options used to create the collection)..
Note: MongoDB 2.6 and earlier versions require the "name" criteria, if specified, to be a string value (i.e. equality match). This is because the driver must prefix the value with the database name in order to query the system.namespaces collection. Later versions of MongoDB do not have this limitation, as the driver will use the listCollections command.
"includeSystemCollections"
Boolean, defaults to FALSE
. Determines whether system collections should be included in the result.
The following option may be used with MongoDB 2.8+:
Return Values
Returns an array of MongoCollection objects.
Errors/Exceptions
For MongoDB 2.6 and earlier, MongoException will be
thrown if a non-string value was specified for the
"filter" option's "name" criteria.
Examples
Example #1 MongoDB::listCollections example
The following example demonstrates running count on each collection in a database.
<?php
$m = new MongoClient();
$db = $m->selectDB("demo");
$collections = $db->listCollections();
foreach ($collections as $collection) {
echo "amount of documents in $collection: ";
echo $collection->count(), "\n";
}
?>
The above example will output
something similar to:
...
amount of documents in demo.pubs: 4
amount of documents in demo.elephpants: 3
amount of documents in demo.cities: 22840
...
See Also
- MongoDB::getCollectionNames
- MongoDB::getCollectionInfo