Class yii\mongodb\Command
| Inheritance | yii\mongodb\Command » yii\base\Object | 
|---|---|
| Implements | yii\base\Configurable | 
| Available since version | 2.1 | 
| Source Code | https://github.com/yiisoft/yii2-mongodb/blob/master/Command.php | 
Command represents MongoDB statement such as command or query.
A command object is usually created by calling yii\mongodb\Connection::createCommand() or yii\mongodb\Database::createCommand(). The statement it represents can be set via the $document property.
To execute a non-query command, such as 'listIndexes', 'count', 'distinct' and so on, call execute(). For example:
$result = Yii::$app->mongodb->createCommand(['listIndexes' => 'some_collection'])->execute();
To execute a 'find' command, which return cursor, call query(). For example:
$cursor = Yii::$app->mongodb->createCommand(['projection' => ['name' => true]])->query('some_collection');
 To execute batch (bulk) operations, call executeBatch(). For example:
Yii::$app->mongodb->createCommand()
    ->addInsert(['name' => 'new'])
    ->addUpdate(['name' => 'existing'], ['name' => 'updated'])
    ->addDelete(['name' => 'old'])
    ->executeBatch('some_collection');
    Public Properties
| Property | Type | Description | Defined By | 
|---|---|---|---|
| $databaseName | string | Name of the database that this command is associated with. | yii\mongodb\Command | 
| $db | yii\mongodb\Connection | The MongoDB connection that this command is associated with. | yii\mongodb\Command | 
| $document | array | Command document contents. | yii\mongodb\Command | 
| $readConcern | \MongoDB\Driver\ReadConcern|string | Read concern to be used in this command. | yii\mongodb\Command | 
| $readPreference | \MongoDB\Driver\ReadPreference | Read preference. | yii\mongodb\Command | 
| $writeConcern | \MongoDB\Driver\WriteConcern|null | Write concern to be used in this command. | yii\mongodb\Command | 
Public Methods
| Method | Description | Defined By | 
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\Object | 
| __construct() | Constructor. | yii\base\Object | 
| __get() | Returns the value of an object property. | yii\base\Object | 
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object | 
| __set() | Sets value of an object property. | yii\base\Object | 
| __unset() | Sets an object property to null. | yii\base\Object | 
| addDelete() | Adds the delete operation to the batch command. | yii\mongodb\Command | 
| addInsert() | Adds the insert operation to the batch command. | yii\mongodb\Command | 
| addUpdate() | Adds the update operation to the batch command. | yii\mongodb\Command | 
| aggregate() | Performs aggregation using MongoDB Aggregation Framework. | yii\mongodb\Command | 
| batchInsert() | Inserts batch of new documents into collection. | yii\mongodb\Command | 
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Object | 
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object | 
| className() | Returns the fully qualified name of this class. | yii\base\Object | 
| count() | Counts records in specified collection. | yii\mongodb\Command | 
| createCollection() | Creates new collection in database associated with this command.s | yii\mongodb\Command | 
| createIndexes() | Creates indexes in the collection. | yii\mongodb\Command | 
| delete() | Removes documents from the collection. | yii\mongodb\Command | 
| distinct() | Returns a list of distinct values for the given column across a collection. | yii\mongodb\Command | 
| dropCollection() | Drops specified collection. | yii\mongodb\Command | 
| dropDatabase() | Drops database associated with this command. | yii\mongodb\Command | 
| dropIndexes() | Drops collection indexes by name. | yii\mongodb\Command | 
| execute() | Executes this command. | yii\mongodb\Command | 
| executeBatch() | Execute commands batch (bulk). | yii\mongodb\Command | 
| explain() | Return an explanation of the query, often useful for optimization and debugging. | yii\mongodb\Command | 
| find() | Performs find query. | yii\mongodb\Command | 
| findAndModify() | Updates a document and returns it. | yii\mongodb\Command | 
| getReadConcern() | Retuns read concern for this command. | yii\mongodb\Command | 
| getReadPreference() | Returns read preference for this command. | yii\mongodb\Command | 
| getWriteConcern() | Returns write concern for this command. | yii\mongodb\Command | 
| group() | Performs aggregation using MongoDB "group" command. | yii\mongodb\Command | 
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Object | 
| hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object | 
| init() | Initializes the object. | yii\base\Object | 
| insert() | Inserts new document into collection. | yii\mongodb\Command | 
| listCollections() | Returns the list of available collections. | yii\mongodb\Command | 
| listDatabases() | Returns the list of available databases. | yii\mongodb\Command | 
| listIndexes() | Returns information about current collection indexes. | yii\mongodb\Command | 
| mapReduce() | Performs MongoDB "map-reduce" command. | yii\mongodb\Command | 
| query() | Executes this command as a mongo query | yii\mongodb\Command | 
| setReadConcern() | Sets read concern for this command. | yii\mongodb\Command | 
| setReadPreference() | Sets read preference for this command. | yii\mongodb\Command | 
| setWriteConcern() | Sets write concern for this command. | yii\mongodb\Command | 
| update() | Update existing documents in the collection. | yii\mongodb\Command | 
Protected Methods
| Method | Description | Defined By | 
|---|---|---|
| beginProfile() | Marks the beginning of a code block for profiling. | yii\mongodb\Command | 
| endProfile() | Marks the end of a code block for profiling. | yii\mongodb\Command | 
| log() | Logs the command data if logging is enabled at $db. | yii\mongodb\Command | 
Property Details
$databaseName public property
Name of the database that this command is associated with.
public string $databaseName = null
$db public property
The MongoDB connection that this command is associated with.
public yii\mongodb\Connection $db = null
$document public property
Command document contents.
public array $document = []
$readConcern public property
Read concern to be used in this command.
public \MongoDB\Driver\ReadConcern|string getReadConcern ( )
public $this setReadConcern ( $readConcern )
$readPreference public property
Read preference.
public \MongoDB\Driver\ReadPreference getReadPreference ( )
public $this setReadPreference ( $readPreference )
$writeConcern public property
Write concern to be used in this command.
public \MongoDB\Driver\WriteConcern|null getWriteConcern ( )
public $this setWriteConcern ( $writeConcern )
Method Details
addDelete() public method
Adds the delete operation to the batch command.
See also executeBatch().
| public $this addDelete ( $condition, $options = [] ) | ||
|---|---|---|
| $condition | array | Filter condition. | 
| $options | array | Delete options. | 
| return | $this | Self reference. | 
addInsert() public method
Adds the insert operation to the batch command.
See also executeBatch().
| public $this addInsert ( $document ) | ||
|---|---|---|
| $document | array | Document to be inserted | 
| return | $this | Self reference. | 
addUpdate() public method
Adds the update operation to the batch command.
See also executeBatch().
| public $this addUpdate ( $condition, $document, $options = [] ) | ||
|---|---|---|
| $condition | array | Filter condition | 
| $document | array | Data to be updated | 
| $options | array | Update options. | 
| return | $this | Self reference. | 
aggregate() public method
Performs aggregation using MongoDB Aggregation Framework.
| public array aggregate ( $collectionName, $pipelines, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $pipelines | array | List of pipeline operators. | 
| $options | array | Optional parameters. | 
| return | array | Aggregation result. | 
batchInsert() public method
Inserts batch of new documents into collection.
| public array|false batchInsert ( $collectionName, $documents, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $documents | array[] | Documents list | 
| $options | array | List of options in format: optionName => optionValue. | 
| return | array|false | List of inserted IDs,  | 
beginProfile() protected method
Marks the beginning of a code block for profiling.
See also endProfile().
| protected void beginProfile ( $token, $category ) | ||
|---|---|---|
| $token | string | Token for the code block | 
| $category | string | The category of this log message | 
count() public method
Counts records in specified collection.
| public integer count ( $collectionName, $condition = [], $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $condition | array | Filter condition | 
| $options | array | List of options in format: optionName => optionValue. | 
| return | integer | Records count | 
createCollection() public method
Creates new collection in database associated with this command.s
| public boolean createCollection ( $collectionName, array $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $options | array | Collection options in format: "name" => "value" | 
| return | boolean | Whether operation was successful. | 
createIndexes() public method
Creates indexes in the collection.
| public boolean createIndexes ( $collectionName, $indexes ) | ||
|---|---|---|
| $collectionName | string | Collection name. | 
| $indexes | array[] | Indexes specification. Each specification should be an array in format: optionName => value The main options are: 
 See [[https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#options-for-all-index-types]] for the full list of options. | 
| return | boolean | Whether operation was successful. | 
delete() public method
Removes documents from the collection.
| public \MongoDB\Driver\WriteResult delete ( $collectionName, $condition, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name. | 
| $condition | array | Filter condition. | 
| $options | array | Delete options. | 
| return | \MongoDB\Driver\WriteResult | Write result. | 
distinct() public method
Returns a list of distinct values for the given column across a collection.
| public array distinct ( $collectionName, $fieldName, $condition = [], $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name. | 
| $fieldName | string | Field name to use. | 
| $condition | array | Query parameters. | 
| $options | array | List of options in format: optionName => optionValue. | 
| return | array | Array of distinct values, or "false" on failure. | 
dropCollection() public method
Drops specified collection.
| public boolean dropCollection ( $collectionName ) | ||
|---|---|---|
| $collectionName | string | Name of the collection to be dropped. | 
| return | boolean | Whether operation was successful. | 
dropDatabase() public method
Drops database associated with this command.
| public boolean dropDatabase ( ) | ||
|---|---|---|
| return | boolean | Whether operation was successful. | 
dropIndexes() public method
Drops collection indexes by name.
| public array dropIndexes ( $collectionName, $indexes ) | ||
|---|---|---|
| $collectionName | string | Collection name. | 
| $indexes | string | Wildcard for name of the indexes to be dropped. | 
| return | array | Result data. | 
endProfile() protected method
Marks the end of a code block for profiling.
See also beginProfile().
| protected void endProfile ( $token, $category ) | ||
|---|---|---|
| $token | string | Token for the code block | 
| $category | string | The category of this log message | 
execute() public method
Executes this command.
| public \MongoDB\Driver\Cursor execute ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\Cursor | Result cursor. | 
| throws | yii\mongodb\Exception | on failure. | 
executeBatch() public method
Execute commands batch (bulk).
| public array executeBatch ( $collectionName, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name. | 
| $options | array | Batch options. | 
| return | array | Array of 2 elements: 
 | 
| throws | yii\mongodb\Exception | on failure. | 
| throws | yii\base\InvalidConfigException | on invalid $document format. | 
explain() public method
Return an explanation of the query, often useful for optimization and debugging.
| public array explain ( $collectionName, $query ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $query | array | Query document. | 
| return | array | Explanation of the query. | 
find() public method
Performs find query.
| public \MongoDB\Driver\Cursor find ( $collectionName, $condition, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $condition | array | Filter condition | 
| $options | array | Query options. | 
| return | \MongoDB\Driver\Cursor | Result cursor. | 
findAndModify() public method
Updates a document and returns it.
| public array|null findAndModify ( $collectionName, $condition = [], $update = [], $options = [] ) | ||
|---|---|---|
| $collectionName | ||
| $condition | array | Query condition | 
| $update | array | Update criteria | 
| $options | array | List of options in format: optionName => optionValue. | 
| return | array|null | The original document, or the modified document when $options['new'] is set. | 
getReadConcern() public method
Retuns read concern for this command.
| public \MongoDB\Driver\ReadConcern|string getReadConcern ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\ReadConcern|string | Read concern to be used in this command. | 
getReadPreference() public method
Returns read preference for this command.
| public \MongoDB\Driver\ReadPreference getReadPreference ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\ReadPreference | Read preference. | 
getWriteConcern() public method
Returns write concern for this command.
| public \MongoDB\Driver\WriteConcern|null getWriteConcern ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\WriteConcern|null | Write concern to be used in this command. | 
group() public method
Performs aggregation using MongoDB "group" command.
| public array group ( $collectionName, $keys, $initial, $reduce, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name. | 
| $keys | mixed | Fields to group by. If an array or non-code object is passed, it will be the key used to group results. If instance of \MongoDB\BSON\Javascript passed, it will be treated as a function that returns the key to group by. | 
| $initial | array | Initial value of the aggregation counter object. | 
| $reduce | \MongoDB\BSON\Javascript|string | Function that takes two arguments (the current document and the aggregation to this point) and does the aggregation. Argument will be automatically cast to \MongoDB\BSON\Javascript. | 
| $options | array | Optional parameters to the group command. Valid options include: 
 | 
| return | array | The result of the aggregation. | 
insert() public method
Inserts new document into collection.
| public \MongoDB\BSON\ObjectID|boolean insert ( $collectionName, $document, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $document | array | Document content | 
| $options | array | List of options in format: optionName => optionValue. | 
| return | \MongoDB\BSON\ObjectID|boolean | Inserted record ID,  | 
listCollections() public method
Returns the list of available collections.
| public array listCollections ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array | Filter condition. | 
| $options | array | Options list. | 
| return | array | Collections information. | 
listDatabases() public method
Returns the list of available databases.
| public array listDatabases ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array | Filter condition. | 
| $options | array | Options list. | 
| return | array | Database information | 
listIndexes() public method
Returns information about current collection indexes.
| public array listIndexes ( $collectionName, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $options | array | List of options in format: optionName => optionValue. | 
| return | array | List of indexes info. | 
| throws | yii\mongodb\Exception | on failure. | 
log() protected method
Logs the command data if logging is enabled at $db.
| protected string|false log ( $namespace, $data, $category ) | ||
|---|---|---|
| $namespace | array|string | Command namespace. | 
| $data | array | Command data. | 
| $category | string | Log category | 
| return | string|false | Log token,  | 
mapReduce() public method
Performs MongoDB "map-reduce" command.
| public string|array mapReduce ( $collectionName, $map, $reduce, $out, $condition = [], $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name. | 
| $map | \MongoDB\BSON\Javascript|string | Function, which emits map data from collection. Argument will be automatically cast to \MongoDB\BSON\Javascript. | 
| $reduce | \MongoDB\BSON\Javascript|string | Function that takes two arguments (the map key and the map values) and does the aggregation. Argument will be automatically cast to \MongoDB\BSON\Javascript. | 
| $out | string|array | Output collection name. It could be a string for simple output ('outputCollection'), or an array for parametrized output (['merge' => 'outputCollection']). You can pass ['inline' => true] to fetch the result at once without temporary collection usage. | 
| $condition | array | Filter condition for including a document in the aggregation. | 
| $options | array | Additional optional parameters to the mapReduce command. Valid options include: 
 | 
| return | string|array | The map reduce output collection name or output results. | 
query() public method
Executes this command as a mongo query
| public \MongoDB\Driver\Cursor query ( $collectionName, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $options | array | Query options. | 
| return | \MongoDB\Driver\Cursor | Result cursor. | 
| throws | yii\mongodb\Exception | on failure | 
setReadConcern() public method
Sets read concern for this command.
| public $this setReadConcern ( $readConcern ) | ||
|---|---|---|
| $readConcern | \MongoDB\Driver\ReadConcern|string | Read concern, it can be an instance of \MongoDB\Driver\ReadConcern or scalar level value, for example: 'local'. | 
| return | $this | Self reference | 
setReadPreference() public method
Sets read preference for this command.
| public $this setReadPreference ( $readPreference ) | ||
|---|---|---|
| $readPreference | \MongoDB\Driver\ReadPreference|integer|string|null | Read reference, it can be specified as instance of \MongoDB\Driver\ReadPreference or scalar mode value, for example:  | 
| return | $this | Self reference. | 
setWriteConcern() public method
Sets write concern for this command.
| public $this setWriteConcern ( $writeConcern ) | ||
|---|---|---|
| $writeConcern | \MongoDB\Driver\WriteConcern|integer|string|null | Write concern, it can be an instance of \MongoDB\Driver\WriteConcern or its scalar mode value, for example:  | 
| return | $this | Self reference | 
update() public method
Update existing documents in the collection.
| public \MongoDB\Driver\WriteResult update ( $collectionName, $condition, $document, $options = [] ) | ||
|---|---|---|
| $collectionName | string | Collection name | 
| $condition | array | Filter condition | 
| $document | array | Data to be updated. | 
| $options | array | Update options. | 
| return | \MongoDB\Driver\WriteResult | Write result. | 
    © 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
    http://www.yiiframework.com/doc-2.0/yii-mongodb-command.html