(PECL mongo >=0.9.0)
MongoCollection::count — Считает количество записей в коллекции
$query
= array()
[, array $options
= array()
]] )
query
Ассоциативный массив или объект с полями для запроса
options
Массив опций для создания индекса. В настоящее время доступны следующие опции:
Имя | Тип | Описание |
---|---|---|
hint | mixed |
Индекс используемый для запроса. Если передается строка, то она должна соответствовать названию индекса. Если массив или объект, то он должен соответсвовать спецификации используемой для создания индекса т.е. первому аргументу в MongoCollection::createIndex()) Эта опция поддерживается только в MongoDB 2.6+. |
limit | integer | Максимальное количество возвращаемых документов |
maxTimeMS | integer |
Определяет совокупный лимит врмени в миллисекундах для выполнения операций (не включает в себя время простоя). Если операция не выполнится в течении этого времени, то будет вызвано исключение MongoExecutionTimeoutException Эта опция поддерживается только в MongoDB 2.6+. |
skip | integer | Количество документов которые нужно пропустить перед посчетом возвращаемого результата |
Возвращает количество документов в коллекции, соответствующих условиям
Исключение MongoResultException вызывается в том случае, если сервер не может выполнить команду из-за ошибки
Исключение MongoExecutionTimeoutException вызывается в том случае, если выполнение команды прекратилось связи с ограничениями опции maxTimeMS.
Версия | Описание |
---|---|
1.6.0 |
Теперь второй параметр options является массивом опций.
limit и skip в качестве второго и третьего параметра,
соотвественно, являются устаревшими
|
1.0.7 |
Добавлены limit и skip как второй и третий параметр
соотвественно
|
Пример #1 Пример использования MongoCollection::count()
<?php
// Вставить записи в коллекцию
$collection->insert(array('x'=>1));
$collection->insert(array('x'=>2));
$collection->insert(array('x'=>3));
// Вывод количества записей во всей коллекции
var_dump($collection->count());
// Вывод количества записей в коллекции по определенному полю
var_dump($collection->count(array('x'=>1)));
?>
Результатом выполнения данного примера будет что-то подобное:
int(3) int(1)