public function explain(Explainable $explainable, array $options = [])
    {
        if ( ! isset($options['readPreference'])) {
            $options['readPreference'] = $this->readPreference;
        }

        if ( ! isset($options['typeMap'])) {
            $options['typeMap'] = $this->typeMap;
        }

        $server = $this->manager->selectServer($options['readPreference']);

        $operation = new Explain($this->databaseName, $explainable, $options);

        return $operation->execute($server);
    }
public function explain(Explainable $explainable, array $options = [])
    {
        if ( ! isset($options['readPreference'])) {
            $options['readPreference'] = $this->readPreference;
        }

        if ( ! isset($options['typeMap'])) {
            $options['typeMap'] = $this->typeMap;
        }

        $server = $this->manager->selectServer($options['readPreference']);

        $operation = new Explain($this->databaseName, $explainable, $options);

        return $operation->execute($server);
    }
public function explain ( Explainable $ explainable , array $ options = [ ] ) { if ( ! isset ( $ options [ 'readPreference' ] ) ) { $ options [ 'readPreference' ] = $ this -> readPreference ; } if ( ! isset ( $ options [ 'typeMap' ] ) ) { $ options [ 'typeMap' ] = $ this -> typeMap ; } $ server = $ this -> manager -> selectServer ( $ options [ 'readPreference' ] ) ; $ operation = new Explain ( $ this -> databaseName , $ explainable , $ options ) ; return $ operation -> execute ( $ server ) ; }
Explains explainable commands.

@see Explain::__construct() for supported options
@see http://docs.mongodb.org/manual/reference/command/explain/
@param Explainable $explainable  Command on which to run explain
@param array       $options      Additional options
@return array|object
@throws UnsupportedException if explainable or options are not supported by the selected server
@throws InvalidArgumentException for parameter/option parsing errors
@throws DriverRuntimeException for other driver errors (e.g. connection errors)
Explains explainable commands .