protected function addSimpleOperation(SimpleOperation $operation)
 {
     switch ($operation->getOperator()) {
         case Fetcher::TYPE_EQ:
             return array($operation->getColumnName() => array('$eq' => $operation->getValue()));
         case Fetcher::TYPE_IN:
             return array($operation->getColumnName() => array('$in' => $operation->getValue()));
         case Fetcher::TYPE_ARRAY_CONTAINS:
             return array($operation->getColumnName() => array('$all' => $operation->getValue()));
         case Fetcher::TYPE_ARRAY_LENGTH:
             return array($operation->getColumnName() => array('$size' => $operation->getValue()));
         case Fetcher::TYPE_ILIKE:
             return array($operation->getColumnName() => array('$regex' => preg_quote($operation->getValue()), '$options' => 'i'));
         case Fetcher::TYPE_LIKE:
             return array($operation->getColumnName() => array('$regex' => preg_quote($operation->getValue())));
         default:
             throw new \InvalidArgumentException(sprintf('Unsupported operation : %s !', $operation->getOperator()));
     }
 }