Properties are defined as the first parameter of the function call append*() (e.g., appendNumber() and appendBool()) in the file plan_explainer_impl.cpp. Some descriptions are copied from MongoDB Documents.
| Property | Category | Reference | Description |
|---|---|---|---|
| advanced | Status | Link | An “advanced” query plan refers to a query plan that requires additional processing or resources beyond what is typical for a simple query. |
| alreadyHasObj | Configuration | Link | Unknown property that has not been observed in practice. |
| chunkSkips | Status | Link | Estimated number of chunks skipped. |
| collation | Configuration | Link | “collation” refers to a set of rules that determine how string values are compared and sorted. Collation can affect the results of queries and can be used to perform case-insensitive or accent-insensitive searches and sorting. |
| direction | Status | Link | Estimated direction of scanning. |
| docsExamined | Cardinality | Link | Estimated number of documents read. |
| docsRejected | Cardinality | Link | Estimated number of documents dropped. |
| dupsDropped | Cardinality | Link | “dupsDropped” refers to the number of duplicate documents that were removed during the execution of a query or aggregation pipeline. |
| dupsTested | Status | Link | Unknown property that has not been observed in practice. |
| executionTimeMillisEstimate | Cost | Link | Estimated time to execute the associated operation. |
| failed | Cardinality | Link | “failed” refers to the number of documents that could not be processed during the execution of a query or aggregation pipeline. |
| filter | Configuration | Link | Filter out data by predicates. |
| indexBounds | Configuration | Link | Permissible values for all fields in the index. |
| indexName | Configuration | Link | The name of the index. |
| indexPrefix | Configuration | Link | The fields that go in the index first. |
| indexVersion | Configuration | Link | The index version. |
| isEOF | Status | Link | Specifies whether the execution stage has reached the end of the stream |
| isMultiKey | Configuration | Link | Whether it uses multiple keys. |
| isPartial | Configuration | Link | Whether it is a partial index. |
| isSparse | Configuration | Link | Whether the index is sparse. |
| isUnique | Configuration | Link | Whether the index enforces a uniqueness constraint |
| keyPattern | Configuration | Link | The key pattern. |
| keysExamined | Status | Link | “keyExamined” refers to the number of index keys that were examined during the execution of a query. |
| limitAmount | Cardinality | Link | Estimated number of limited returned rows. |
| memLimit | Cost | Link | The maximum available memory. |
| memUsage | Cost | Link | Estimated memory usage. |
| nBucketsDiscarded | Cardinality | Link | Estimated number of buckets dropped. |
| nBucketsUnpacked | Cardinality | Link | Estimated number of buckets unpacked. |
| nCounted | Cardinality | Link | Estimated number of documents. |
| needTime | Cost | Link | Estimated time needed. |
| needYield | Configuration | Link | “needYield” refers to whether the query execution engine needs to temporarily release its control of the server resources to allow other operations to run. |
| nMatched | Cardinality | Link | “nMatched” refers to the number of documents that matched the query criteria and were modified or deleted in an update or delete operation. |
| nReturned | Cardinality | Link | Estimated number of documents returned. |
| nSkipped | Cardinality | Link | Estimated number of documents skipped. |
| nWouldDelete | Cardinality | Link | Estimated number of documents dropped. |
| nWouldModify | Cardinality | Link | Estimated number of documents modified. |
| nWouldUpsert | Cardinality | Link | Estimated number of documents inserted. |
| parsedTextQuery | Status | Link | The query. |
| restoreState | Status | Link | Estimated number of times that the query stage restored a saved execution state, for example after recovering locks that it had previously yielded. |
| saveState | Status | Link | Estimated number of times that the query stage suspended processing and saved its current execution state, for example in preparation for yielding its locks. |
| seeks | Status | Link | Estimated number of times that we had to seek the index cursor to a new position to complete the index scan. |
| skipAmount | Cardinality | Link | “skipAmount” refers to the estimated number of documents that were skipped in a query or aggregation pipeline. |
| sortPattern | Configuration | Link | “sortPattern” refers to the order in which the documents in the result set are sorted. |
| spills | Status | Link | “spills” refers to the estimated number of times that the query or aggregation pipeline had to write data to disk due to memory constraints. |
| textIndexVersion | Configuration | Link | The version of the text index. |
| totalDataSizeSorted | Cardinality | Link | Estimated size of data to sort. |
| transformBy | Configuration | Link | Original data for a projection operation. |
| type | Configuration | Link | The sort type. |
| usedDisk | Cost | Link | Estimated disk usage. |
| warning | Configuration | Link | Warning information. |
| works | Status | Link | “works” refers to the total number of operations that were performed during the query execution. |