def not(*criterion)
      if criterion.empty?
        tap { |query| query.negating = true }
      else
        __override__(criterion.first, "$not")
      end
    end
def not(*criterion)
      if criterion.empty?
        tap { |query| query.negating = true }
      else
        __override__(criterion.first, "$not")
      end
    end
Negate the next selection.

 @example Negate the selection.
   selectable.not.in(field: [ 1, 2 ])

 @example Add the $not criterion.
   selectable.not(name: /Bob/)

 @example Execute a $not in a where query.
   selectable.where(:field.not => /Bob/)

 @param [ Hash ] criterion The field/value pairs to negate.

 @return [ Selectable ] The negated selectable.

 @since 1.0.0