public function clean($mode = \Zend_Cache::CLEANING_MODE_ALL, $tags = [])
{
switch ($mode) {
case \Zend_Cache::CLEANING_MODE_ALL:
return $this->_conn->dropDB($this->_options['dbname']);
break;
case \Zend_Cache::CLEANING_MODE_OLD:
return $this->_collection->remove(['expire' => ['$lt' => time()]]);
break;
case \Zend_Cache::CLEANING_MODE_MATCHING_TAG:
return $this->_collection->remove(['t' => ['$all' => $tags]]);
break;
case \Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG:
return $this->_collection->remove(['t' => ['$nin' => $tags]]);
break;
case \Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG:
return $this->_collection->remove(['t' => ['$in' => $tags]]);
break;
default:
\Zend_Cache::throwException('Invalid mode for clean() method');
break;
}
}