Spec-Zone.ru › Yii 2.0

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

Список вставленных идентификаторов, 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 массив[]

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

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

См. [[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 элементов:

  • 'insertedIds' - содержит вставленные идентификаторы.
  • 'result' - экземпляр \MongoDB\Driver\WriteResult.
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. Допустимые параметры включают:

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

Идентификатор вставленной записи, false - при ошибке.

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

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

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

return $this

Ссылка на себя.

setWriteConcern() public method

Устанавливает уровень согласованности записи для этой команды.

public $this setWriteConcern ( $writeConcern )
$writeConcern \MongoDB\Driver\WriteConcern|integer|string|null

Уровень согласованности записи, может быть экземпляром \MongoDB\Driver\WriteConcern или его скалярным значением, например: majority.

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

Spec-Zone.ru

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