Delete document

Parameters

  • string $query
  • array $options

Returns

boolean
This method can be filtered.

Source

						public function delete($query, array $options = array()) {
		$this->_checkConnection();
		$defaults = array('justOne' => false, 'safe' => false, 'fsync' => false);
		$options = array_intersect_key($options + $defaults, $defaults);
		$_config = $this->_config;
		$params = compact('query', 'options');

		return $this->_filter(__METHOD__, $params, function($self, $params) use ($_config) {
			$query = $params['query'];
			$options = $params['options'];
			$args = $query->export($self, array('keys' => array('source', 'conditions')));
			$source = $args['source'];

			if ($source == "{$_config['gridPrefix']}.files") {
				return $self->invokeMethod('_deleteFile', array($args['conditions']));
			}

			return $self->connection->{$args['source']}->remove($args['conditions'], $options);
		});
	}