Класс yii\mongodb\Command
| Наследование | yii\mongodb\Command » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступна с версии | 2.1 |
| Исходный код | https://github.com/yiisoft/yii2-mongodb/blob/master/Command.php |
Command представляет собой оператор MongoDB, такой как команда или запрос.
Объект команды обычно создается с помощью вызова yii\mongodb\Connection::createCommand() или yii\mongodb\Database::createCommand(). Представляемый оператор можно задать через свойство $document.
Для выполнения команды, не являющейся запросом, например, 'listIndexes', 'count', 'distinct' и так далее, вызовите execute(). Например:
$result = Yii::$app->mongodb->createCommand(['listIndexes' => 'some_collection'])->execute();
Для выполнения команды 'find', которая возвращает курсор, вызовите query(). Например:
$cursor = Yii::$app->mongodb->createCommand(['projection' => ['name' => true]])->query('some_collection');
Для выполнения пакетных (массовых) операций вызовите executeBatch(). Например:
Yii::$app->mongodb->createCommand()
->addInsert(['name' => 'new'])
->addUpdate(['name' => 'existing'], ['name' => 'updated'])
->addDelete(['name' => 'old'])
->executeBatch('some_collection');
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $databaseName | string | Имя базы данных, с которой связана эта команда. | yii\mongodb\Command |
| $db | yii\mongodb\Connection | Подключение к MongoDB, с которым связана эта команда. | yii\mongodb\Command |
| $document | массив | Содержимое документа команды. | yii\mongodb\Command |
| $readConcern | \MongoDB\Driver\ReadConcern|строка | Требование к чтению, которое необходимо использовать в этой команде. | yii\mongodb\Command |
| $readPreference | \MongoDB\Driver\ReadPreference | Предпочтение чтения. | yii\mongodb\Command |
| $writeConcern | \MongoDB\Driver\WriteConcern|null | Требование к записи, которое необходимо использовать в этой команде. | yii\mongodb\Command |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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 |
| addDelete() | Добавляет операцию удаления в пакетную команду. | yii\mongodb\Command |
| addInsert() | Добавляет операцию вставки в пакетную команду. | yii\mongodb\Command |
| addUpdate() | Добавляет операцию обновления в пакетную команду. | yii\mongodb\Command |
| aggregate() | Выполняет агрегирование с использованием фреймворка MongoDB Aggregation. | yii\mongodb\Command |
| batchInsert() | Вставляет пакет новых документов в коллекцию. | yii\mongodb\Command |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство быть считано. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство быть установлено. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| count() | Считает записи в указанной коллекции. | yii\mongodb\Command |
| createCollection() | Создает новую коллекцию в базе данных, связанной с этой командой. | yii\mongodb\Command |
| createIndexes() | Создает индексы в коллекции. | yii\mongodb\Command |
| delete() | Удаляет документы из коллекции. | yii\mongodb\Command |
| distinct() | Возвращает список уникальных значений для заданного столбца во всей коллекции. | yii\mongodb\Command |
| dropCollection() | Удаляет указанную коллекцию. | yii\mongodb\Command |
| dropDatabase() | Удаляет базу данных, связанную с этой командой. | yii\mongodb\Command |
| dropIndexes() | Удаляет индексы коллекции по имени. | yii\mongodb\Command |
| execute() | Выполняет эту команду. | yii\mongodb\Command |
| executeBatch() | Выполняет пакет команд (последовательность). | yii\mongodb\Command |
| explain() | Возвращает объяснение запроса, часто полезно для оптимизации и отладки. | yii\mongodb\Command |
| find() | Выполняет запрос find. | yii\mongodb\Command |
| findAndModify() | Обновляет документ и возвращает его. | yii\mongodb\Command |
| getReadConcern() | Возвращает уровень согласованности чтения для этой команды. | yii\mongodb\Command |
| getReadPreference() | Возвращает предпочтение чтения для этой команды. | yii\mongodb\Command |
| getWriteConcern() | Возвращает уровень согласованности записи для этой команды. | yii\mongodb\Command |
| group() | Выполняет агрегирование с использованием команды MongoDB "group". | yii\mongodb\Command |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| insert() | Вставляет новый документ в коллекцию. | yii\mongodb\Command |
| listCollections() | Возвращает список доступных коллекций. | yii\mongodb\Command |
| listDatabases() | Возвращает список доступных баз данных. | yii\mongodb\Command |
| listIndexes() | Возвращает информацию об индексах текущей коллекции. | yii\mongodb\Command |
| mapReduce() | Выполняет команду MongoDB "map-reduce". | yii\mongodb\Command |
| query() | Выполняет эту команду как mongo запрос | yii\mongodb\Command |
| setReadConcern() | Устанавливает уровень согласованности чтения для этой команды. | yii\mongodb\Command |
| setReadPreference() | Устанавливает предпочтение чтения для этой команды. | yii\mongodb\Command |
| setWriteConcern() | Устанавливает уровень согласованности записи для этой команды. | yii\mongodb\Command |
| update() | Обновляет существующие документы в коллекции. | yii\mongodb\Command |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| beginProfile() | Помечает начало блока кода для профилирования. | yii\mongodb\Command |
| endProfile() | Помечает конец блока кода для профилирования. | yii\mongodb\Command |
| log() | Записывает данные команды, если ведение журнала включено в $db. | yii\mongodb\Command |
Подробное описание свойств
$databaseName открытое свойство
Имя базы данных, с которой связана эта команда.
public string $databaseName = null
$db открытое свойство
Подключение MongoDB, с которым связана эта команда.
public yii\mongodb\Connection $db = null
$document открытое свойство
Содержимое документа команды.
public array $document = []
$readConcern открытое свойство
Уровень согласованности чтения, используемый в этой команде.
public \MongoDB\Driver\ReadConcern|string getReadConcern ( )
public $this setReadConcern ( $readConcern )
$readPreference открытое свойство
Предпочтение чтения.
public \MongoDB\Driver\ReadPreference getReadPreference ( )
public $this setReadPreference ( $readPreference )
$writeConcern открытое свойство
Уровень согласованности записи, используемый в этой команде.
public \MongoDB\Driver\WriteConcern|null getWriteConcern ( )
public $this setWriteConcern ( $writeConcern )
Подробное описание методов
addDelete() общедоступный метод
Добавляет операцию удаления в пакетную команду.
См. также executeBatch().
| общедоступный $this addDelete ( $condition, $options = [] ) | ||
|---|---|---|
| $condition | массив |
Условие фильтрации. |
| $options | массив |
Параметры удаления. |
| return | $this |
Ссылка на себя. |
addInsert() общедоступный метод
Добавляет операцию вставки в пакетную команду.
См. также executeBatch().
| общедоступный $this addInsert ( $document ) | ||
|---|---|---|
| $document | массив |
Документ для вставки. |
| return | $this |
Ссылка на себя. |
addUpdate() общедоступный метод
Добавляет операцию обновления в пакетную команду.
См. также executeBatch().
| общедоступный $this addUpdate ( $condition, $document, $options = [] ) | ||
|---|---|---|
| $condition | массив |
Условие фильтрации. |
| $document | массив |
Данные для обновления. |
| $options | массив |
Параметры обновления. |
| return | $this |
Ссылка на себя. |
aggregate() общедоступный метод
Выполняет агрегацию с использованием фреймворка MongoDB Aggregation.
| общедоступный массив aggregate ( $collectionName, $pipelines, $options = [] ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции. |
| $pipelines | массив |
Список операторов конвейера. |
| $options | массив |
Дополнительные параметры. |
| return | массив |
Результат агрегации. |
batchInsert() общедоступный метод
Вставляет пакет новых документов в коллекцию.
| общедоступный массив|false batchInsert ( $collectionName, $documents, $options = [] ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции. |
| $documents | массив[] |
Список документов. |
| $options | массив |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | массив|false |
Список вставленных идентификаторов, |
beginProfile() защищённый метод
Помечает начало блока кода для профилирования.
См. также endProfile().
| защищённый void beginProfile ( $token, $category ) | ||
|---|---|---|
| $token | строка |
Идентификатор блока кода. |
| $category | строка |
Категория этого сообщения журнала. |
count() общедоступный метод
Подсчитывает записи в указанной коллекции.
| общедоступный целое число count ( $collectionName, $condition = [], $options = [] ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции. |
| $condition | массив |
Условие фильтрации. |
| $options | массив |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | целое число |
Количество записей. |
createCollection() общедоступный метод
Создаёт новую коллекцию в базе данных, связанной с этой командой.
| общедоступный булево createCollection ( $collectionName, массив $options = [] ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции. |
| $options | массив |
Параметры коллекции в формате: "имя" => "значение" |
| return | булево |
Указывает, была ли операция выполнена успешно. |
createIndexes() общедоступный метод
Создаёт индексы в коллекции.
| общедоступный булево createIndexes ( $collectionName, $indexes ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции. |
| $indexes | массив[] |
Спецификация индексов. Каждая спецификация должна быть массивом в формате: имяОпции => значение. Основные параметры:
См. [[https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#options-for-all-index-types]] для полного списка параметров. |
| return | булево |
Указывает, была ли операция выполнена успешно. |
delete() общедоступный метод
Удаляет документы из коллекции.
| общедоступный \MongoDB\Driver\WriteResult delete ( $collectionName, $condition, $options = [] ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции. |
| $condition | массив |
Условие фильтрации. |
| $options | массив |
Параметры удаления. |
| return | \MongoDB\Driver\WriteResult |
Результат операции записи. |
distinct() общедоступный метод
Возвращает список уникальных значений для заданного столбца во всей коллекции.
| общедоступный массив distinct ( $collectionName, $fieldName, $condition = [], $options = [] ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции. |
| $fieldName | строка |
Имя поля. |
| $condition | массив |
Параметры запроса. |
| $options | массив |
Список параметров в формате: имяПараметра => значениеПараметра. |
| return | массив |
Массив уникальных значений или false при ошибке. |
dropCollection() общедоступный метод
Удаляет указанную коллекцию.
| общедоступный булево dropCollection ( $collectionName ) | ||
|---|---|---|
| $collectionName | строка |
Имя коллекции для удаления. |
| return | булево |
Указывает, была ли операция выполнена успешно. |
dropDatabase() public method
Удаляет базу данных, связанную с этой командой.
| public boolean dropDatabase ( ) | ||
|---|---|---|
| return | boolean |
Указывает, была ли операция успешной. |
dropIndexes() public method
Удаляет индексы коллекции по имени.
| public array dropIndexes ( $collectionName, $indexes ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции. |
| $indexes | string |
Подстановочный символ для имени индексов, которые нужно удалить. |
| return | array |
Данные результата. |
endProfile() protected method
Помечает конец блока кода для профилирования.
См. также beginProfile().
| protected void endProfile ( $token, $category ) | ||
|---|---|---|
| $token | string |
Токен для блока кода |
| $category | string |
Категория этого сообщения протокола |
execute() public method
Выполняет эту команду.
| public \MongoDB\Driver\Cursor execute ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\Cursor |
Курсор результатов. |
| throws | yii\mongodb\Exception |
при ошибке. |
executeBatch() public method
Выполнение команд в пакете (последовательно).
| public array executeBatch ( $collectionName, $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции. |
| $options | array |
Параметры пакета. |
| return | array |
Массив из 2 элементов:
|
| throws | yii\mongodb\Exception |
при ошибке. |
| throws | yii\base\InvalidConfigException |
при неверном формате $document. |
explain() public method
Возвращает объяснение запроса, часто полезное для оптимизации и отладки.
| public array explain ( $collectionName, $query ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции |
| $query | array |
Документ запроса. |
| return | array |
Объяснение запроса. |
find() public method
Выполняет запрос поиска.
| public \MongoDB\Driver\Cursor find ( $collectionName, $condition, $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции |
| $condition | array |
Условие фильтра. |
| $options | array |
Параметры запроса. |
| return | \MongoDB\Driver\Cursor |
Курсор результатов. |
findAndModify() public method
Обновляет документ и возвращает его.
| public array|null findAndModify ( $collectionName, $condition = [], $update = [], $options = [] ) | ||
|---|---|---|
| $collectionName | ||
| $condition | array |
Условие запроса. |
| $update | array |
Критерии обновления. |
| $options | array |
Список параметров в формате: optionName => optionValue. |
| return | array|null |
Исходный документ или изменённый документ, когда задан $options['new']. |
getReadConcern() public method
Возвращает уровень согласованности чтения для этой команды.
| public \MongoDB\Driver\ReadConcern|string getReadConcern ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\ReadConcern|string |
Уровень согласованности чтения, который нужно использовать в этой команде. |
getReadPreference() public method
Возвращает предпочтение чтения для этой команды.
| public \MongoDB\Driver\ReadPreference getReadPreference ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\ReadPreference |
Предпочтение чтения. |
getWriteConcern() public method
Возвращает уровень согласованности записи для этой команды.
| public \MongoDB\Driver\WriteConcern|null getWriteConcern ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\WriteConcern|null |
Уровень согласованности записи, который нужно использовать в этой команде. |
group() public method
Выполняет агрегацию с помощью команды MongoDB "group".
| public array group ( $collectionName, $keys, $initial, $reduce, $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции. |
| $keys | mixed |
Поля для группировки. Если передан массив или не-объект кода, он будет использоваться в качестве ключа для группировки результатов. Если передан экземпляр \MongoDB\BSON\Javascript, он будет интерпретирован как функция, возвращающая ключ для группировки. |
| $initial | array |
Начальное значение объекта счетчика агрегации. |
| $reduce | \MongoDB\BSON\Javascript|string |
Функция, принимающая два аргумента (текущий документ и агрегацию до этого момента) и выполняющая агрегацию. Аргумент будет автоматически преобразован в \MongoDB\BSON\Javascript. |
| $options | array |
Дополнительные параметры для команды group. Допустимые параметры включают:
|
| return | array |
Результат агрегации. |
insert() public method
Вставляет новый документ в коллекцию.
| public \MongoDB\BSON\ObjectID|boolean insert ( $collectionName, $document, $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции |
| $document | array |
Содержание документа |
| $options | array |
Список параметров в формате: optionName => optionValue. |
| return | \MongoDB\BSON\ObjectID|boolean |
Идентификатор вставленной записи, |
listCollections() public method
Возвращает список доступных коллекций.
| public array listCollections ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Условие фильтра. |
| $options | array |
Список опций. |
| return | array |
Информация о коллекциях. |
listDatabases() public method
Возвращает список доступных баз данных.
| public array listDatabases ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Условие фильтра. |
| $options | array |
Список опций. |
| return | array |
Информация о базах данных. |
listIndexes() public method
Возвращает информацию об индексах текущей коллекции.
| public array listIndexes ( $collectionName, $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции. |
| $options | array |
Список опций в формате: имяОпции => значениеОпции. |
| return | array |
Список информации об индексах. |
| throws | yii\mongodb\Exception |
при ошибке. |
log() protected method
Записывает данные команды, если ведение журнала включено в $db.
| protected string|false log ( $namespace, $data, $category ) | ||
|---|---|---|
| $namespace | array|string |
Пространство имен команды. |
| $data | array |
Данные команды. |
| $category | string |
Категория журнала. |
| return | string|false |
Маркер журнала, |
mapReduce() public method
Выполняет команду MongoDB "map-reduce".
| public string|array mapReduce ( $collectionName, $map, $reduce, $out, $condition = [], $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции. |
| $map | \MongoDB\BSON\Javascript|string |
Функция, которая генерирует данные map из коллекции. Аргумент будет автоматически преобразован к \MongoDB\BSON\Javascript. |
| $reduce | \MongoDB\BSON\Javascript|string |
Функция, которая принимает два аргумента (ключ map и значения map) и выполняет агрегацию. Аргумент будет автоматически преобразован к \MongoDB\BSON\Javascript. |
| $out | string|array |
Имя выходной коллекции. Может быть строкой для простой выдачи ('выходнаяКоллекция'), или массивом для параметризованной выдачи (['merge' => 'выходнаяКоллекция']). Можно передать ['inline' => true] для получения результата сразу без использования временной коллекции. |
| $condition | array |
Условие фильтра для включения документа в агрегацию. |
| $options | array |
Дополнительные параметры для команды mapReduce. Допустимые параметры включают:
|
| return | string|array |
Имя выходной коллекции map reduce или результаты вывода. |
query() public method
Выполняет эту команду как запрос mongo
| public \MongoDB\Driver\Cursor query ( $collectionName, $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции |
| $options | array |
Опции запроса. |
| return | \MongoDB\Driver\Cursor |
Результат курсора. |
| throws | yii\mongodb\Exception |
при ошибке |
setReadConcern() public method
Устанавливает уровень согласованности чтения для этой команды.
| public $this setReadConcern ( $readConcern ) | ||
|---|---|---|
| $readConcern | \MongoDB\Driver\ReadConcern|string |
Уровень согласованности чтения, может быть экземпляром \MongoDB\Driver\ReadConcern или скалярным значением, например: 'local'. |
| return | $this |
Ссылка на себя. |
setReadPreference() public method
Устанавливает предпочтение чтения для этой команды.
| public $this setReadPreference ( $readPreference ) | ||
|---|---|---|
| $readPreference | \MongoDB\Driver\ReadPreference|integer|string|null |
Предпочтение чтения, может быть задано как экземпляр \MongoDB\Driver\ReadPreference или скалярным значением режима, например: |
| return | $this |
Ссылка на себя. |
setWriteConcern() public method
Устанавливает уровень согласованности записи для этой команды.
| public $this setWriteConcern ( $writeConcern ) | ||
|---|---|---|
| $writeConcern | \MongoDB\Driver\WriteConcern|integer|string|null |
Уровень согласованности записи, может быть экземпляром \MongoDB\Driver\WriteConcern или его скалярным значением, например: |
| return | $this |
Ссылка на себя. |
update() public method
Обновляет существующие документы в коллекции.
| public \MongoDB\Driver\WriteResult update ( $collectionName, $condition, $document, $options = [] ) | ||
|---|---|---|
| $collectionName | string |
Имя коллекции |
| $condition | array |
Условие фильтра |
| $document | array |
Данные для обновления. |
| $options | array |
Опции обновления. |
| return | \MongoDB\Driver\WriteResult |
Результат записи. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mongodb-command.html