PHP Classes

File: vendor/mongodb/mongodb/docs/reference/method/MongoDBCollection-explain.txt

Recommend this page to a friend!
  Classes of walid laggoune   MongoDB Queue PHP Query Execute   vendor/mongodb/mongodb/docs/reference/method/MongoDBCollection-explain.txt   Download  
File: vendor/mongodb/mongodb/docs/reference/method/MongoDBCollection-explain.txt
Role: Documentation
Content type: text/plain
Description: Documentation
Class: MongoDB Queue PHP Query Execute
Query and execute multiple queries using MongoDB
Author: By
Last change:
Date: 4 years ago
Size: 8,165 bytes
 

Contents

Class file image Download
============================== MongoDB\\Collection::explain() ============================== .. versionadded:: 1.4 .. default-domain:: mongodb .. contents:: On this page :local: :backlinks: none :depth: 1 :class: singlecol Definition ---------- .. phpmethod:: MongoDB\\Collection::explain() Explain the given command. .. code-block:: php function explain(MongoDB\\Operation\\Explainable $explainable, array $options = []): array|object This method has the following parameters: .. include:: /includes/apiargs/MongoDBCollection-method-explain-param.rst The ``$options`` parameter supports the following options: .. include:: /includes/apiargs/MongoDBCollection-method-explain-option.rst Return Values ------------- An array or object with the result document of the :manual:`explain </reference/command/explain>` command. The return type will depend on the ``typeMap`` option. Errors/Exceptions ----------------- .. include:: /includes/extracts/error-unsupportedexception.rst .. include:: /includes/extracts/error-invalidargumentexception.rst .. include:: /includes/extracts/error-driver-runtimeexception.rst Explainable Commands -------------------- Explainable commands include, but are not limited to: - :phpclass:`MongoDB\\Operation\\Count` - :phpclass:`MongoDB\\Operation\\DeleteMany` - :phpclass:`MongoDB\\Operation\\DeleteOne` - :phpclass:`MongoDB\\Operation\\Distinct` - :phpclass:`MongoDB\\Operation\\Find` - :phpclass:`MongoDB\\Operation\\FindOne` - :phpclass:`MongoDB\\Operation\\FindOneAndDelete` - :phpclass:`MongoDB\\Operation\\FindOneAndReplace` - :phpclass:`MongoDB\\Operation\\FindOneAndUpdate` - :phpclass:`MongoDB\\Operation\\UpdateMany` - :phpclass:`MongoDB\\Operation\\UpdateOne` Examples -------- This example explains a count command. .. code-block:: php <?php $collection = (new MongoDB\Client)->test->restaurants; $count = new MongoDB\Operation\Count( $collection->getDatabaseName(), $collection->getCollectionName(), ['cuisine' => 'Italian'] ); $result = $collection->explain($count); var_dump($result); The output would then resemble:: object(MongoDB\Model\BSONDocument)#29 (1) { ["storage":"ArrayObject":private]=> array(4) { ["queryPlanner"]=> object(MongoDB\Model\BSONDocument)#21 (1) { ["storage":"ArrayObject":private]=> array(6) { ["plannerVersion"]=> int(1) ["namespace"]=> string(16) "test.restaurants" ["indexFilterSet"]=> bool(false) ["parsedQuery"]=> object(MongoDB\Model\BSONDocument)#15 (1) { ["storage":"ArrayObject":private]=> array(1) { ["cuisine"]=> object(MongoDB\Model\BSONDocument)#14 (1) { ["storage":"ArrayObject":private]=> array(1) { ["$eq"]=> string(7) "Italian" } } } } ["winningPlan"]=> object(MongoDB\Model\BSONDocument)#19 (1) { ["storage":"ArrayObject":private]=> array(2) { ["stage"]=> string(5) "COUNT" ["inputStage"]=> object(MongoDB\Model\BSONDocument)#18 (1) { ["storage":"ArrayObject":private]=> array(3) { ["stage"]=> string(8) "COLLSCAN" ["filter"]=> object(MongoDB\Model\BSONDocument)#17 (1) { ["storage":"ArrayObject":private]=> array(1) { ["cuisine"]=> object(MongoDB\Model\BSONDocument)#16 (1) { ["storage":"ArrayObject":private]=> array(1) { ["$eq"]=> string(7) "Italian" } } } } ["direction"]=> string(7) "forward" } } } } ["rejectedPlans"]=> object(MongoDB\Model\BSONArray)#20 (1) { ["storage":"ArrayObject":private]=> array(0) { } } } } ["executionStats"]=> object(MongoDB\Model\BSONDocument)#27 (1) { ["storage":"ArrayObject":private]=> array(7) { ["executionSuccess"]=> bool(true) ["nReturned"]=> int(0) ["executionTimeMillis"]=> int(24) ["totalKeysExamined"]=> int(0) ["totalDocsExamined"]=> int(25359) ["executionStages"]=> object(MongoDB\Model\BSONDocument)#25 (1) { ["storage":"ArrayObject":private]=> array(14) { ["stage"]=> string(5) "COUNT" ["nReturned"]=> int(0) ["executionTimeMillisEstimate"]=> int(20) ["works"]=> int(25361) ["advanced"]=> int(0) ["needTime"]=> int(25360) ["needYield"]=> int(0) ["saveState"]=> int(198) ["restoreState"]=> int(198) ["isEOF"]=> int(1) ["invalidates"]=> int(0) ["nCounted"]=> int(1069) ["nSkipped"]=> int(0) ["inputStage"]=> object(MongoDB\Model\BSONDocument)#24 (1) { ["storage":"ArrayObject":private]=> array(14) { ["stage"]=> string(8) "COLLSCAN" ["filter"]=> object(MongoDB\Model\BSONDocument)#23 (1) { ["storage":"ArrayObject":private]=> array(1) { ["cuisine"]=> object(MongoDB\Model\BSONDocument)#22 (1) { ["storage":"ArrayObject":private]=> array(1) { ["$eq"]=> string(7) "Italian" } } } } ["nReturned"]=> int(1069) ["executionTimeMillisEstimate"]=> int(20) ["works"]=> int(25361) ["advanced"]=> int(1069) ["needTime"]=> int(24291) ["needYield"]=> int(0) ["saveState"]=> int(198) ["restoreState"]=> int(198) ["isEOF"]=> int(1) ["invalidates"]=> int(0) ["direction"]=> string(7) "forward" ["docsExamined"]=> int(25359) } } } } ["allPlansExecution"]=> object(MongoDB\Model\BSONArray)#26 (1) { ["storage":"ArrayObject":private]=> array(0) { } } } } ["serverInfo"]=> object(MongoDB\Model\BSONDocument)#28 (1) { ["storage":"ArrayObject":private]=> array(4) { ["host"]=> string(9) "localhost" ["port"]=> int(27017) ["version"]=> string(5) "3.6.1" ["gitVersion"]=> string(40) "025d4f4fe61efd1fb6f0005be20cb45a004093d1" } } ["ok"]=> float(1) } } See Also -------- - :manual:`explain </reference/command/explain>` command reference in the MongoDB manual