MongoCollection::count

(PECL mongo >=0.9.0)

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

Описание

public MongoCollection::count ( array $query = array() , array $options = array() ) : int

Список параметров

query

Ассоциативный массив или объект с полями для запроса

options

Массив опций для создания индекса. В настоящее время доступны следующие опции:

Имя Тип Описание
hint mixed

Индекс используемый для запроса. Если передается строка, то она должна соответствовать названию индекса. Если массив или объект, то он должен соответсвовать спецификации используемой для создания индекса т.е. первому аргументу в MongoCollection::createIndex())

Эта опция поддерживается только в MongoDB 2.6+.
limit int Максимальное количество возвращаемых документов
maxTimeMS int

Определяет совокупный лимит врмени в миллисекундах для выполнения операций (не включает в себя время простоя). Если операция не выполнится в течение этого времени, то будет вызвано исключение MongoExecutionTimeoutException

Эта опция поддерживается только в MongoDB 2.6+.
skip int Количество документов которые нужно пропустить перед посчетом возвращаемого результата

Возвращаемые значения

Возвращает количество документов в коллекции, соответствующих условиям

Ошибки

Исключение MongoResultException вызывается в том случае, если сервер не может выполнить команду из-за ошибки

Исключение MongoExecutionTimeoutException вызывается в том случае, если выполнение команды прекратилось связи с ограничениями опции maxTimeMS.

Список изменений

Версия Описание
PECL mongo 1.6.0 Теперь второй параметр options является массивом опций. limit и skip в качестве второго и третьего параметра, соотвественно, являются устаревшими
PECL mongo 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)