| 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');
| 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 |
| 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 |
| 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 |
Name of the database that this command is associated with.
public string $databaseName = null
The MongoDB connection that this command is associated with.
public yii\mongodb\Connection $db = null
Command document contents.
public array $document = []
Read concern to be used in this command.
public \MongoDB\Driver\ReadConcern|string getReadConcern ( )
public $this setReadConcern ( $readConcern )
Read preference.
public \MongoDB\Driver\ReadPreference getReadPreference ( )
public $this setReadPreference ( $readPreference )
Write concern to be used in this command.
public \MongoDB\Driver\WriteConcern|null getWriteConcern ( )
public $this setWriteConcern ( $writeConcern )
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. |
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. |
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. |
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. |
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, |
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 |
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 |
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. |
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. |
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. |
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. |
Drops specified collection.
| public boolean dropCollection ( $collectionName ) | ||
|---|---|---|
| $collectionName | string |
Name of the collection to be dropped. |
| return | boolean |
Whether operation was successful. |
Drops database associated with this command.
| public boolean dropDatabase ( ) | ||
|---|---|---|
| return | boolean |
Whether operation was successful. |
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. |
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 |
Executes this command.
| public \MongoDB\Driver\Cursor execute ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\Cursor |
Result cursor. |
| throws | yii\mongodb\Exception |
on failure. |
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. |
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. |
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. |
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. |
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. |
Returns read preference for this command.
| public \MongoDB\Driver\ReadPreference getReadPreference ( ) | ||
|---|---|---|
| return | \MongoDB\Driver\ReadPreference |
Read preference. |
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. |
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. |
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, |
Returns the list of available collections.
| public array listCollections ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Filter condition. |
| $options | array |
Options list. |
| return | array |
Collections information. |
Returns the list of available databases.
| public array listDatabases ( $condition = [], $options = [] ) | ||
|---|---|---|
| $condition | array |
Filter condition. |
| $options | array |
Options list. |
| return | array |
Database information |
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. |
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, |
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. |
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 |
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 |
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. |
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 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