Spec-Zone.ru › Yii 2.0

Класс 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[]

Настройка индексов. Каждая настройка должна быть массивом в формате: имяПараметра => значение. Основные параметры:

  • keys: массив, имена столбцов с порядком сортировки, подлежащие индексированию. Этот параметр обязателен.
  • unique: bool, нужно ли создавать уникальный индекс.
  • name: строка, имя индекса, если не задано, оно будет сгенерировано автоматически.
  • background: bool, нужно ли создавать индекс в фоновом режиме.
  • sparse: bool, нужно ли индексу ссылаться только на документы с указанным полем.

См. [[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. Допустимые параметры включают:

  • condition - критерии для включения документа в агрегацию.
  • finalize - функция, вызываемая один раз на уникальный ключ, которая принимает окончательный результат функции reduce.
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. Допустимые параметры включают:

  • sort: массив, ключ для сортировки входных документов. Ключ сортировки должен находиться в существующем индексе для этой коллекции.
  • limit: целое число, максимальное количество документов для возвращения в коллекции.
  • finalize: \MongoDB\BSON\Javascript|string, функция, которая следует за методом reduce и изменяет вывод.
  • scope: массив, определяет глобальные переменные, которые доступны в функциях map, reduce и finalize.
  • jsMode: логическое значение, указывает, нужно ли преобразовывать промежуточные данные в формат BSON между выполнением функций map и reduce.
  • verbose: логическое значение, указывает, нужно ли включать информацию о времени выполнения в информацию о результатах.
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API