/** * Execute a command on this database. * * @see DatabaseCommand::__construct() for supported options * * @param array|object $command Command document * @param array $options Options for command execution * * @return Cursor * @throws InvalidArgumentException */ public function command($command, array $options = []) { if (!isset($options['readPreference'])) { $options['readPreference'] = $this->readPreference; } if (!isset($options['typeMap'])) { $options['typeMap'] = $this->typeMap; } $operation = new DatabaseCommand($this->databaseName, $command, $options); $server = $this->manager->selectServer($options['readPreference']); return $operation->execute($server); }