Класс yii\mongodb\Query
| Наследование | yii\mongodb\Query » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\db\QueryInterface |
| Использует трейты | yii\db\QueryTrait |
| Подклассы | yii\mongodb\ActiveQuery, yii\mongodb\file\ActiveQuery, yii\mongodb\file\Query |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-mongodb/blob/master/Query.php |
Query представляет операцию поиска Mongo "find".
Query предоставляет набор методов для удобного задания команды "find". Эти методы могут быть объединены.
Например,
$query = new Query();
// compose the query
$query->select(['name', 'status'])
->from('customer')
->limit(10);
// execute the query
$rows = $query->all();
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений | yii\base\Component |
| $collection | yii\mongodb\Collection | Экземпляр коллекции. | yii\mongodb\Query |
| $emulateExecution | boolean | Выполнять ли эмуляцию реального выполнения запроса, возвращая пустые или ложные результаты. | yii\db\QueryTrait |
| $from | string|array | Коллекция, из которой производится выборка. | yii\mongodb\Query |
| $indexBy | string|callable | Имя столбца, по которому должны индексироваться результаты запроса. | yii\db\QueryTrait |
| $limit | integer|yii\db\Expression | Максимальное количество записей, которые должны быть возвращены. | yii\db\QueryTrait |
| $offset | integer|yii\db\Expression | Смещение (с нуля) от которого должны быть возвращены записи. | yii\db\QueryTrait |
| $options | array | Опции курсора в формате: optionKey => optionValue | yii\mongodb\Query |
| $orderBy | array | Как сортировать результаты запроса. | yii\db\QueryTrait |
| $select | array | Поля результатов, которые нужно вернуть. | yii\mongodb\Query |
| $where | string|array | Условие запроса. | yii\db\QueryTrait |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т. е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в null. | yii\base\Component |
| addOptions() | Добавляет дополнительные параметры курсора. | yii\mongodb\Query |
| addOrderBy() | Добавляет дополнительные столбцы ORDER BY к запросу. | yii\db\QueryTrait |
| all() | Выполняет запрос и возвращает все результаты в виде массива. | yii\mongodb\Query |
| andFilterCompare() | Вспомогательный метод для удобного запроса по значениям, содержащим некоторые общие операторы. | yii\mongodb\Query |
| andFilterWhere() | Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. | yii\db\QueryTrait |
| andWhere() | Добавляет дополнительное условие WHERE к существующему. | yii\db\QueryTrait |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| average() | Возвращает среднее значение указанных значений столбца. | yii\mongodb\Query |
| batch() | Запускает пакетный запрос. | yii\mongodb\Query |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| buildCursor() | Создает курсор MongoDB для этого запроса. | yii\mongodb\Query |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| column() | Выполняет запрос и возвращает первый столбец результата. | yii\mongodb\Query |
| count() | Возвращает количество записей. | yii\mongodb\Query |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| distinct() | Возвращает список уникальных значений для заданного столбца в коллекции. | yii\mongodb\Query |
| each() | Запускает пакетный запрос и извлекает данные строка за строкой. | yii\mongodb\Query |
| emulateExecution() | Устанавливает, следует ли эмулировать выполнение запроса, предотвращая любые взаимодействия с хранилищем данных. | yii\db\QueryTrait |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| exists() | Возвращает значение, указывающее, содержит ли результат запроса какие-либо данные в строке. | yii\mongodb\Query |
| filterWhere() | Устанавливает часть WHERE запроса, но игнорирует пустые операнды. | yii\db\QueryTrait |
| from() | Устанавливает коллекцию для выборки. | yii\mongodb\Query |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getCollection() | Возвращает коллекцию Mongo для этого запроса. | yii\mongodb\Query |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| indexBy() | Устанавливает свойство indexBy(). | yii\db\QueryTrait |
| init() | Инициализирует объект. | yii\base\Object |
| limit() | Устанавливает часть LIMIT запроса. | yii\db\QueryTrait |
| max() | Возвращает максимальное значение указанных значений столбца. | yii\mongodb\Query |
| min() | Возвращает минимальное значение указанных значений столбца. | yii\mongodb\Query |
| modify() | Выполняет запрос 'findAndModify' и возвращает одну строку результата. | yii\mongodb\Query |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| offset() | Устанавливает часть OFFSET запроса. | yii\db\QueryTrait |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| one() | Выполняет запрос и возвращает одну строку результата. | yii\mongodb\Query |
| options() | Устанавливает параметры курсора. | yii\mongodb\Query |
| orFilterWhere() | Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. | yii\db\QueryTrait |
| orWhere() | Добавляет дополнительное условие WHERE к существующему. | yii\db\QueryTrait |
| orderBy() | Устанавливает часть ORDER BY запроса. | yii\db\QueryTrait |
| populate() | Преобразует результаты необработанного запроса в формат, указанный в этом запросе. | yii\mongodb\Query |
| prepare() | Подготавливает к построению запроса. | yii\mongodb\Query |
| scalar() | Возвращает результат запроса как скалярное значение. | yii\mongodb\Query |
| select() | Устанавливает список полей результатов для возврата. | yii\mongodb\Query |
| sum() | Возвращает сумму значений указанного столбца. | yii\mongodb\Query |
| trigger() | Вызывает событие. | yii\base\Component |
| where() | Устанавливает часть WHERE запроса. | yii\db\QueryTrait |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| aggregate() | Выполняет агрегирование для указанного столбца. | yii\mongodb\Query |
| fetchRows() | Извлекает строки из заданного курсора Mongo. | yii\mongodb\Query |
| fetchRowsInternal() | yii\mongodb\Query | |
| filterCondition() | Удаляет пустые операнды из заданного условия запроса. | yii\db\QueryTrait |
| isEmpty() | Возвращает значение, указывающее, является ли заданное значение "пустым". | yii\db\QueryTrait |
| normalizeOrderBy() | Нормализует формат данных ORDER BY | yii\db\QueryTrait |
Подробное описание свойств
$collection публичное только для чтения свойство
Экземпляр коллекции.
public yii\mongodb\Collection getCollection ( $db = null )
$from публичное свойство
Коллекция для выборки. Если строка, рассматривается как имя коллекции в базе данных по умолчанию. Если массив, первый элемент рассматривается как имя базы данных, второй - как имя коллекции в этой базе данных.
См. также from().
public string|array $from = null
$options публичное свойство
Параметры курсора в формате: ключ_параметра => значение_параметра
См. также:
- \MongoDB\Driver\Cursor::addOption()
- options()
public array $options = []
$select публичное свойство
Поля результатов для возврата. Например: ['name', 'group_id'], ['name' => true, '_id' => false]. Если поле "_id" не исключено явно, оно всегда возвращается. Если не задано, значит выбираются все столбцы.
См. также select().
public array $select = []
Подробное описание методов
addOptions() public method
Добавляет дополнительные параметры курсора.
См. также options().
| public $this addOptions ( $options ) | ||
|---|---|---|
| $options | array |
Параметры курсора в формате: имяПараметра => значениеПараметра |
| return | $this |
Сам объект запроса |
aggregate() protected method
Выполняет агрегацию для указанного столбца.
| protected integer aggregate ( $column, $operator, $db ) | ||
|---|---|---|
| $column | string |
Имя столбца. |
| $operator | string |
Оператор агрегации. |
| $db | yii\mongodb\Connection |
Подключение к базе данных, используемое для выполнения запроса. |
| return | integer |
Результат агрегации. |
all() public method
Выполняет запрос и возвращает все результаты в виде массива.
| public array all ( $db = null ) | ||
|---|---|---|
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | array |
Результаты запроса. Если запрос ничего не возвращает, возвращается пустой массив. |
andFilterCompare() public method (доступно начиная с версии 2.0.5)
Вспомогательный метод для удобного выполнения запросов на значения, содержащие некоторые общие операторы.
Оператор сравнения интеллектуально определяется на основе первых нескольких символов в заданном значении и внутренне преобразуется в оператор MongoDB. В частности, он распознаёт следующие операторы, если они появляются в качестве ведущих символов в заданном значении: <: столбец должен быть меньше заданного значения ($lt). >: столбец должен быть больше заданного значения ($gt). <=: столбец должен быть меньше или равен заданному значению ($lte). >=: столбец должен быть больше или равен заданному значению ($gte). <>: столбец не должен быть таким же, как заданное значение ($ne). Обратите внимание, что когда $partialMatch имеет значение true, это означает, что значение не должно быть подстрокой столбца. =: столбец должен быть равен заданному значению ($eq). ни один из вышеперечисленных: используйте $defaultOperator
Обратите внимание, что если значение пустое, выражение сравнения не будет добавлено к условию поиска.
См. также \yii\mongodb\yii\mongodb\Collection::buildCondition().
| public $this andFilterCompare ( $name, $value, $defaultOperator = '=' ) | ||
|---|---|---|
| $name | string |
Имя столбца |
| $value | string |
Значение столбца |
| $defaultOperator | string |
По умолчанию =, выполняет точное соответствие. Например: используйте 'LIKE' или 'REGEX' для частичного или регулярного сопоставления. |
| return | $this |
Сам объект запроса. |
average() public method
Возвращает среднее значение указанных значений столбца.
| public integer average ( $q, $db = null ) | ||
|---|---|---|
| $q | string |
Имя столбца. Убедитесь, что вы правильно заключаете имена столбцов в выражении. |
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | integer |
Среднее значение указанных значений столбца. |
batch() public method (доступно начиная с версии 2.1)
Инициализирует пакетный запрос.
Пакетный запрос поддерживает извлечение данных частями, что позволяет поддерживать использование памяти в рамках лимита. Этот метод вернёт объект yii\mongodb\BatchQueryResult, который реализует интерфейс Iterator и может быть пройден для извлечения данных по частям.
Например,
$query = (new Query)->from('user');
foreach ($query->batch() as $rows) {
// $rows is an array of 10 or fewer rows from user collection
}
| public yii\mongodb\BatchQueryResult batch ( $batchSize = 100, $db = null ) | ||
|---|---|---|
| $batchSize | integer |
Количество записей, извлекаемых в каждой группе. |
| $db | yii\mongodb\Connection |
Подключение к MongoDB. Если не указано, используется компонент "mongodb" приложения. |
| return | yii\mongodb\BatchQueryResult |
Результат пакетного запроса. Он реализует интерфейс |
buildCursor() public method
Создаёт курсор MongoDB для этого запроса.
| public \MongoDB\Driver\Cursor buildCursor ( $db = null ) | ||
|---|---|---|
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для выполнения запроса. |
| return | \MongoDB\Driver\Cursor |
Экземпляр курсора Mongo. |
column() public method (доступно начиная с версии 2.1.2)
Выполняет запрос и возвращает первый столбец результата.
Столбец _id будет автоматически исключён из полей выборки, если select() не пустой и _id не выбран явно.
| public array column ( $db = null ) | ||
|---|---|---|
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для генерации запроса. Если этот параметр не задан, используется компонент |
| return | array |
Первый столбец результата запроса. Если запрос ничего не возвращает, возвращается пустой массив. |
count() public method
Возвращает количество записей.
| public integer count ( $q = '*', $db = null ) | ||
|---|---|---|
| $q | string |
Сохранено для соответствия yii\db\QueryInterface, его значение игнорируется. |
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | integer |
Количество записей |
| throws | yii\mongodb\Exception |
при ошибке. |
distinct() public method
Возвращает список уникальных значений для заданного столбца по всей коллекции.
| public array distinct ( $q, $db = null ) | ||
|---|---|---|
| $q | string |
Столбец для использования. |
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для выполнения запроса. Если этот параметр не задан, используется компонент |
| return | array |
Массив уникальных значений |
each() public method (доступно начиная с версии 2.1)
Инициализирует пакетный запрос и извлекает данные строка за строкой.
Этот метод похож на batch(), за исключением того, что в каждом итерации результата возвращается только одна строка данных. Например,
$query = (new Query)->from('user');
foreach ($query->each() as $row) {
}
| public yii\mongodb\BatchQueryResult each ( $batchSize = 100, $db = null ) | ||
|---|---|---|
| $batchSize | целое число |
Количество записей, извлекаемых в каждой группе. |
| $db | yii\mongodb\Connection |
Подключение к MongoDB. Если не задано, будет использоваться компонент приложения «mongodb». |
| return | yii\mongodb\BatchQueryResult |
Результат пакетного запроса. Он реализует интерфейс |
exists() общедоступный метод
Возвращает значение, указывающее, содержит ли результат запроса какие-либо строки данных.
| public boolean exists ( $db = null ) | ||
|---|---|---|
| $db | yii\mongodb\Connection |
Подключение к Mongo, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент приложения |
| return | boolean |
Содержит ли результат запроса какие-либо строки данных. |
fetchRows() защищённый метод
Извлекает строки из заданного курсора Mongo.
| protected массив|boolean fetchRows ( $cursor, $all = true, $indexBy = null ) | ||
|---|---|---|
| $cursor | \MongoDB\Driver\Cursor |
Экземпляр курсора Mongo для извлечения данных. |
| $all | boolean |
Нужно ли извлечь все строки или только первую. |
| $indexBy | строка|обратный вызов |
Имя столбца или PHP-обратный вызов, по которому результаты запроса должны быть индексированы. |
| return | массив|boolean |
Результат. |
| throws | yii\mongodb\Exception |
при ошибке. |
fetchRowsInternal() защищённый метод
См. также yii\mongodb\Query::fetchRows().
| protected массив|boolean fetchRowsInternal ( $cursor, $all ) | ||
|---|---|---|
| $cursor | \MongoDB\Driver\Cursor |
Экземпляр курсора Mongo для извлечения данных. |
| $all | boolean |
Нужно ли извлечь все строки или только первую. |
| return | массив|boolean |
Результат. |
from() общедоступный метод
Устанавливает коллекцию для выбора.
| public $this from ( $collection ) | ||
|---|---|---|
| $collection | ||
| return | $this |
Сам объект запроса. |
getCollection() общедоступный метод
Возвращает коллекцию Mongo для этого запроса.
| public yii\mongodb\Collection getCollection ( $db = null ) | ||
|---|---|---|
| $db | yii\mongodb\Connection |
Подключение к Mongo. |
| return | yii\mongodb\Collection |
Экземпляр коллекции. |
max() общедоступный метод
Возвращает максимальное значение указанных значений столбца.
| public целое число max ( $q, $db = null ) | ||
|---|---|---|
| $q | строка |
Имя столбца. Убедитесь, что вы правильно заключаете имена столбцов в выражение. |
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент приложения |
| return | целое число |
Максимальное значение указанных значений столбца. |
min() общедоступный метод
Возвращает минимальное значение указанных значений столбца.
| public целое число min ( $q, $db = null ) | ||
|---|---|---|
| $q | строка |
Имя столбца. Убедитесь, что вы правильно заключаете имена столбцов в выражение. |
| $db | yii\mongodb\Connection |
Подключение к MongoDB, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент приложения |
| return | целое число |
Минимальное значение указанных значений столбца. |
modify() общедоступный метод
Выполняет запрос 'findAndModify' и возвращает одну строку результата.
| public массив|null modify ( $update, $options = [], $db = null ) | ||
|---|---|---|
| $update | массив |
Критерии обновления |
| $options | массив |
Список параметров в формате: имяПараметра => значениеПараметра. |
| $db | yii\mongodb\Connection |
Подключение к Mongo, используемое для выполнения запроса. |
| return | массив|null |
Исходный документ или изменённый документ, когда $options['new'] задан. |
one() общедоступный метод
Выполняет запрос и возвращает одну строку результата.
| public массив|false one ( $db = null ) | ||
|---|---|---|
| $db | yii\mongodb\Connection |
Подключение к Mongo, используемое для выполнения запроса. Если этот параметр не задан, будет использован компонент приложения |
| return | массив|false |
Первая строка (с точки зрения массива) результата запроса. |
options() общедоступный метод
Устанавливает параметры курсора.
См. также addOptions().
| public $this options ( $options ) | ||
|---|---|---|
| $options | массив |
Параметры курсора в формате: имяПараметра => значениеПараметра |
| return | $this |
Сам объект запроса |
populate() общедоступный метод
Преобразует результаты запроса в указанный формат.
Этот метод используется внутри для преобразования данных, извлеченных из базы данных, в формат, требуемый этим запросом.
| public массив populate ( $rows ) | ||
|---|---|---|
| $rows | массив |
Необработанный результат запроса из базы данных |
| return | массив |
Преобразованный результат запроса |
prepare() общедоступный метод (доступен начиная с версии 2.1.3)
Подготавливает запрос к построению.
Этот метод вызывается перед фактическим составлением запроса, например, построением курсора, подсчётом и т. д. Вы можете переопределить этот метод, чтобы выполнить некоторые заключительные подготовительные действия перед выполнением запроса.
| public $this prepare ( ) | ||
|---|---|---|
| return | $this |
Подготовленный экземпляр запроса. |
scalar() общедоступный метод (доступен начиная с версии 2.1.2)
Возвращает результат запроса как скалярное значение.
Возвращаемое значение будет первой колонкой в первой строке результатов запроса. Столбец _id будет автоматически исключён из полей select, если select() не пустой и _id не выбран явно.
| public строка|null|false scalar ( $db = null ) | ||
|---|---|---|
| $db | yii\mongodb\Connection |
Подключение MongoDB, используемое для генерации запроса. Если этот параметр не указан, будет использовано компонент |
| return | строка|null|false |
Значение первой колонки в первой строке результата запроса. |
select() public method
Устанавливает список полей результатов для возврата.
| public $this select ( массив $fields ) | ||
|---|---|---|
| $fields | массив |
Поля результатов для возврата. |
| return | $this |
Сам объект запроса. |
sum() public method
Возвращает сумму значений указанной колонки.
| public целое число sum ( $q, $db = null ) | ||
|---|---|---|
| $q | строка |
Имя колонки. Убедитесь, что имена колонок правильно заключены в кавычки в выражении. |
| $db | yii\mongodb\Connection |
Подключение Mongo, используемое для выполнения запроса. Если этот параметр не указан, будет использовано компонент |
| return | целое число |
Сумма значений указанной колонки |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mongodb-query.html