Класс yii\mongodb\Collection
| Наследование | yii\mongodb\Collection » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Подклассы | yii\mongodb\file\Collection |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-mongodb/blob/master/Collection.php |
Collection представляет информацию о коллекции Mongo.
Объект коллекции обычно создается вызовом yii\mongodb\Database::getCollection() или yii\mongodb\Connection::getCollection().
Collection предоставляет базовый интерфейс для запросов Mongo, в основном: операции вставки, обновления, удаления. Например:
$collection = Yii::$app->mongodb->getCollection('customer');
$collection->insert(['name' => 'John Smith', 'status' => 1]);
Collection также предоставляет сокращенные методы для yii\mongodb\Command, такие как group(), mapReduce() и так далее.
Для выполнения запросов «find» используйте yii\mongodb\Query вместо этого.
Общественные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $database | yii\mongodb\Database | Экземпляр базы данных MongoDB. | yii\mongodb\Collection |
| $fullName | строка | Полное имя этой коллекции, включая имя базы данных. | yii\mongodb\Collection |
| $name | строка | Имя этой коллекции. | yii\mongodb\Collection |
Общественные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод с заданным именем, который не является методом класса. | yii\base\Object |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т. е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| aggregate() | Выполняет агрегацию с использованием Mongo Aggregation Framework. | yii\mongodb\Collection |
| batchInsert() | Вставляет несколько новых строк в коллекцию. | yii\mongodb\Collection |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| count() | Считает записи в этой коллекции. | yii\mongodb\Collection |
| createIndex() | Создает индекс в коллекции и по указанным полям. | yii\mongodb\Collection |
| createIndexes() | Создает сразу несколько индексов. | yii\mongodb\Collection |
| distinct() | Возвращает список различных значений для заданного столбца во всей коллекции. | yii\mongodb\Collection |
| drop() | Удаляет эту коллекцию. | yii\mongodb\Collection |
| dropAllIndexes() | Удаляет все индексы для этой коллекции. | yii\mongodb\Collection |
| dropIndex() | Удалить индексы для указанного(ых) столбца(ов). | yii\mongodb\Collection |
| dropIndexes() | Удаляет индексы коллекции по имени. | yii\mongodb\Collection |
| find() | Возвращает курсор для результатов поиска. | yii\mongodb\Collection |
| findAndModify() | Обновляет документ и возвращает его. | yii\mongodb\Collection |
| findOne() | Возвращает единственный документ. | yii\mongodb\Collection |
| getFullName() | yii\mongodb\Collection | |
| group() | Выполняет агрегацию с использованием команды Mongo «group». | yii\mongodb\Collection |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| insert() | Вставляет новые данные в коллекцию. | yii\mongodb\Collection |
| listIndexes() | Возвращает список определенных индексов. | yii\mongodb\Collection |
| mapReduce() | Выполняет агрегацию с помощью механизма MongoDB «map-reduce». | yii\mongodb\Collection |
| remove() | Удаляет данные из коллекции. | yii\mongodb\Collection |
| save() | Обновляет существующие данные базы данных, иначе вставляет эти данные | yii\mongodb\Collection |
| update() | Обновляет строки, которые соответствуют заданным критериям, используя заданные данные. | yii\mongodb\Collection |
Подробное описание свойств
$database общественное свойство
Экземпляр базы данных MongoDB.
public yii\mongodb\Database $database = null
$fullName общественное только для чтения свойство
Полное имя этой коллекции, включая имя базы данных.
public string getFullName ( )
$name общественное свойство
Имя этой коллекции.
public string $name = null
Подробное описание методов
aggregate() public method
Выполняет агрегацию с помощью фреймворка Mongo Aggregation.
| public array aggregate ( $pipelines, $options = [] ) | ||
|---|---|---|
| $pipelines | array |
Список операторов конвейера. |
| $options | array |
Дополнительные параметры. |
| return | array |
Результат агрегации. |
| throws | yii\mongodb\Exception |
при ошибке. |
batchInsert() public method
Вставляет несколько новых строк в коллекцию.
| public array batchInsert ( $rows, $options = [] ) | ||
|---|---|---|
| $rows | array |
Массив массивов или объектов для вставки. |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | array |
Вставленные данные, каждая строка будет иметь ключ "_id". |
| throws | yii\mongodb\Exception |
при ошибке. |
count() public method (доступно начиная с версии 2.1)
Считает записи в этой коллекции.
| public integer count ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Условие запроса |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | integer |
Количество записей. |
createIndex() public method
Создаёт индекс на коллекции и указанных полях.
| public boolean createIndex ( $columns, $options = [] ) | ||
|---|---|---|
| $columns | array|string |
Имя столбца или список имён столбцов. Если передан массив, каждый элемент массива имеет в качестве ключа имя поля, а в качестве значения либо 1 для возрастающей сортировки, либо -1 для убывающей сортировки. Вы можете указать поле с помощью числового ключа с именем поля в качестве значения, в этом случае будет использоваться возрастающая сортировка. Например: [
'name',
'status' => -1,
]
|
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | boolean |
Успешность операции. |
| throws | yii\mongodb\Exception |
при ошибке. |
createIndexes() public method (доступно начиная с версии 2.1)
Создаёт несколько индексов одновременно.
Пример:
$collection = Yii::$app->mongo->getCollection('customer');
$collection->createIndexes([
[
'key' => ['name'],
],
[
'key' => [
'email' => 1,
'address' => -1,
],
'name' => 'my_index'
],
]);
| public boolean createIndexes ( $indexes ) | ||
|---|---|---|
| $indexes | array[] |
Настройка индексов. Каждая настройка должна быть массивом в формате: имяПараметра => значение. Основные параметры:
См. [[https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#options-for-all-index-types]] для полного списка параметров. |
| return | boolean |
Успешность операции. |
distinct() public method
Возвращает список уникальных значений для заданного столбца во всей коллекции.
| public array|boolean distinct ( $column, $condition = [], $options = [] ) | ||
|---|---|---|
| $column | string |
Столбец для использования. |
| $condition | array |
Параметры запроса. |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | array|boolean |
Массив уникальных значений или "false" при ошибке. |
| throws | yii\mongodb\Exception |
при ошибке. |
drop() public method
Удаляет эту коллекцию.
| public boolean drop ( ) | ||
|---|---|---|
| return | boolean |
Успешность операции. |
| throws | yii\mongodb\Exception |
при ошибке. |
dropAllIndexes() public method
Удаляет все индексы для этой коллекции.
| public integer dropAllIndexes ( ) | ||
|---|---|---|
| return | integer |
Количество удалённых индексов. |
| throws | yii\mongodb\Exception |
при ошибке. |
dropIndex() public method
Удаляет индексы для указанных столбцов.
| public boolean dropIndex ( $columns ) | ||
|---|---|---|
| $columns | string|array |
Имя столбца или список имён столбцов. Если передан массив, каждый элемент массива имеет в качестве ключа имя поля, а в качестве значения либо 1 для возрастающей сортировки, либо -1 для убывающей сортировки. Используйте значение 'text' для указания текстового индекса. Вы можете указать поле с помощью числового ключа с именем поля в качестве значения, в этом случае будет использоваться возрастающая сортировка. Например: [
'name',
'status' => -1,
'description' => 'text',
]
|
| return | boolean |
Успешность операции. |
| throws | yii\mongodb\Exception |
при ошибке. |
dropIndexes() public method
Удаляет индексы коллекции по имени.
| public integer dropIndexes ( $indexes ) | ||
|---|---|---|
| $indexes | string |
Подстановочный символ для имени индексов, которые нужно удалить. Вы можете использовать |
| return | integer |
Количество удалённых индексов. |
find() public method
Возвращает курсор для результатов поиска.
Для выполнения запросов "find" используйте класс yii\mongodb\Query.
См. также yii\mongodb\Query.
| public \MongoDB\Driver\Cursor find ( $condition = [], $fields = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Условие запроса |
| $fields | array |
Поля для выбора |
| $options | array |
Параметры запроса (доступно начиная с 2.1). |
| return | \MongoDB\Driver\Cursor |
Курсор для результатов поиска |
findAndModify() public method
Обновляет документ и возвращает его.
| public array|null findAndModify ( $condition, $update, $options = [] ) | ||
|---|---|---|
| $condition | array |
Условие запроса |
| $update | array |
Критерии обновления |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | array|null |
Исходный документ или изменённый документ, если установлен $options['new']. |
| throws | yii\mongodb\Exception |
при ошибке. |
findOne() public method
Возвращает один документ.
| public array|null findOne ( $condition = [], $fields = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Условие запроса |
| $fields | array |
Поля для выбора |
| $options | array |
Параметры запроса (доступны начиная с версии 2.1). |
| return | array|null |
Единственный документ. Null возвращается, если запрос ничего не возвращает. |
getFullName() public method
| public string getFullName ( ) | ||
|---|---|---|
| return | string |
Полное имя этой коллекции, включая имя базы данных. |
group() public method
Выполняет агрегацию с помощью команды Mongo "group".
| public array group ( $keys, $initial, $reduce, $options = [] ) | ||
|---|---|---|
| $keys | mixed |
Поля для группировки. Если передать массив или объект, не являющийся кодом, он будет использоваться в качестве ключа для группировки результатов. Если передаётся экземпляр \MongoDB\BSON\Javascript, он будет обрабатываться как функция, возвращающая ключ для группировки. |
| $initial | array |
Начальное значение объекта счётчика агрегации. |
| $reduce | \MongoDB\BSON\Javascript|string |
Функция, принимающая два аргумента (текущий документ и агрегация до этого момента) и выполняющая агрегацию. Аргумент будет автоматически преобразован в \MongoDB\BSON\Javascript. |
| $options | array |
Дополнительные параметры для команды group. Допустимые параметры включают:
|
| return | array |
Результат агрегации. |
| throws | yii\mongodb\Exception |
при ошибке. |
insert() public method
Вставляет новые данные в коллекцию.
| public \MongoDB\BSON\ObjectID insert ( $data, $options = [] ) | ||
|---|---|---|
| $data | array|object |
Данные для вставки. |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | \MongoDB\BSON\ObjectID |
Экземпляр нового ID записи. |
| throws | yii\mongodb\Exception |
при ошибке. |
listIndexes() public method (доступно с версии 2.1)
Возвращает список определённых индексов.
| public array listIndexes ( $options = [] ) | ||
|---|---|---|
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | array |
Список информации об индексах. |
mapReduce() public method
Выполняет агрегацию с помощью механизма MongoDB "map-reduce".
Примечание: эта функция не вернёт результат агрегации, вместо этого она запишет его в другую коллекцию Mongo, указанную параметром "out". Например:
$customerCollection = Yii::$app->mongo->getCollection('customer');
$resultCollectionName = $customerCollection->mapReduce(
'function () {emit(this.status, this.amount)}',
'function (key, values) {return Array.sum(values)}',
'mapReduceOut',
['status' => 3]
);
$query = new Query();
$results = $query->from($resultCollectionName)->all();
| public string|array mapReduce ( $map, $reduce, $out, $condition = [], $options = [] ) | ||
|---|---|---|
| $map | \MongoDB\BSON\Javascript|string |
Функция, которая генерирует данные map из коллекции. Аргумент будет автоматически преобразован в \MongoDB\BSON\Javascript. |
| $reduce | \MongoDB\BSON\Javascript|string |
Функция, принимающая два аргумента (ключ map и значения map) и выполняющая агрегацию. Аргумент будет автоматически преобразован в \MongoDB\BSON\Javascript. |
| $out | string|array |
Имя выходной коллекции. Может быть строкой для простой выдачи ('outputCollection') или массивом для параметризованной выдачи (['merge' => 'outputCollection']). Можно передать ['inline' => true] для получения результата сразу же без использования временной коллекции. |
| $condition | array |
Критерии для включения документа в агрегацию. |
| $options | array |
Дополнительные параметры для команды mapReduce. Допустимые параметры включают:
|
| return | string|array |
Имя выходной коллекции map reduce или результаты выдачи. |
| throws | yii\mongodb\Exception |
при ошибке. |
remove() public method
Удаляет данные из коллекции.
| public integer|boolean remove ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Описание записей для удаления. |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | integer|boolean |
Количество обновлённых документов или информация об успешности операции. |
| throws | yii\mongodb\Exception |
при ошибке. |
save() public method
Обновляет существующие данные базы данных, в противном случае вставляет эти данные
| public \MongoId save ( $data, $options = [] ) | ||
|---|---|---|
| $data | array|object |
Данные для обновления/вставки. |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | \MongoId |
Экземпляр ID обновлённой/новой записи. |
| throws | yii\mongodb\Exception |
при ошибке. |
update() public method
Обновляет строки, соответствующие заданным критериям, заданными данными.
Примечание: для режима "multi" Mongo требует явного указания стратегии "$set" или "$inc" для "newData". Если стратегия не указана, будет использоваться "$set".
| public integer|boolean update ( $condition, $newData, $options = [] ) | ||
|---|---|---|
| $condition | array |
Описание объектов для обновления. |
| $newData | array |
Объект для обновления соответствующих записей. |
| $options | array |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | integer|boolean |
Количество обновлённых документов или результат успешности операции. |
| throws | yii\mongodb\Exception |
при ошибке. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mongodb-collection.html