def where(expression)
      if expression.is_a?(::String) && embedded?
        raise Errors::UnsupportedJavascript.new(klass, expression)
      end
      super
    end
def where(expression)
      if expression.is_a?(::String) && embedded?
        raise Errors::UnsupportedJavascript.new(klass, expression)
      end
      super
    end
This is the general entry point for most MongoDB queries. This either
 creates a standard field: value selection, and expanded selection with
 the use of hash methods, or a $where selection if a string is provided.

 @example Add a standard selection.
   criteria.where(name: "syd")

 @example Add a javascript selection.
   criteria.where("this.name == 'syd'")

 @param [ String, Hash ] expression The javascript or standard selection.

 @raise [ UnsupportedJavascript ] If provided a string and the criteria
   is embedded.

 @return [ Criteria ] The cloned selectable.

 @since 1.0.0