(PECL mongo >=0.9.0)
MongoDB::listCollections — Gets an array of MongoCollection objects for all collections in this database
$options
= array()
] )Gets a list of all collections in the database and returns them as an array of MongoCollection objects.
Замечание: Этот метод использует комманду » listCollections когда общается с MongoDB 2.8+. Для более старых баз данных, этот метод запрашивает специальную коллекцию system.namespaces.
options
An array of options for listing the collections. Currently available options include:
"filter"
Опциональный критерий запроса. Если задан, то будет использован для фильтрации коллекций, включенных в результирующий набор.
Подходящие поля для запроса включают "name" (строка с именем коллекции, без префикса в виде имени базы данных) и "options" (объект, включающий опции, использованные при создании этой коллекции)..
Замечание: MongoDB 2.6 и более ранние версии, требуют, чтобы критерий "name" был строго строкового типа. Потому, что драйвер должен добавть к этому значению префикс в виде имени базы данныхдля запроса коллекции system.namespaces. Более поздние версии MongoDB не имеют этого ограничения, так как драйвер использует комманду listCollections.
"includeSystemCollections"
Логическое значение, по умолчанию FALSE
. Определяет, должны ли системные коллекции входить в результирующий набор.
The following option may be used with MongoDB 2.8+:
"maxTimeMS"
Указывает суммарный лимит времени в миллисекундах на обработку операции (не включая время простоя) на сервере. Если операция на стороне сервера не завершилась за это время, то вызывается исключение MongoExecutionTimeoutException.
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.
Версия | Описание |
---|---|
1.6.0 | Changed first parameter to be an array of options. Pre-1.6.0, the first parameter was a boolean indicating the "includeSystemCollections" option. |
1.3.0 |
Added the includeSystemCollections parameter.
|
Пример #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 ...