Php/docs/mongodb.listcollections
MongoDB::listCollections
(PECL mongo >=0.9.0)
MongoDB::listCollections — Gets an array of MongoCollection objects for all collections in this database
说明
public MongoDB::listCollections
([ array $options
= array()
] ) : array
Gets a list of all collections in the database and returns them as an array of MongoCollection objects.
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.
参数
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 thesystem.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+:
"maxTimeMS"
Specifies a cumulative time limit in milliseconds for processing the operation on the server (does not include idle time). If the operation is not completed by the server within the timeout period, a MongoExecutionTimeoutException will be thrown.
返回值
Returns an array of MongoCollection objects.
错误/异常
For MongoDB 2.6 and earlier, MongoException will be
thrown if a non-string value was specified for the
"filter"
option's "name"
criteria.
更新日志
版本 | 说明 |
---|---|
PECL mongo 1.6.0 | Changed first parameter to be an array of options. Pre-1.6.0, the
first parameter was a boolean indicating the
|
PECL mongo 1.3.0 | Added the includeSystemCollections parameter.
|
范例
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";}?>
以上例程的输出类似于:
... amount of documents in demo.pubs: 4 amount of documents in demo.elephpants: 3 amount of documents in demo.cities: 22840 ...
参见
- MongoDB::getCollectionNames() - Gets an array of names for all collections in this database
- MongoDB::getCollectionInfo() - Returns information about collections in this database