MongoCollection::count

(PECL mongo >=0.9.0)

MongoCollection::countСчитает количество записей в коллекции

Описание

public int MongoCollection::count ([ array $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)