code: def where(conditions = nil, opts = {})
        return @where if conditions.nil?
        if conditions.is_a?(Hash)
          conditions.each do |operator, value|
            add_constraint(operator, value, opts)
          end
        end
        self #chaining
      end
docs: Add additional query constraints to the `where` clause. The `where` clause
   is based on utilizing a set of constraints on the defined column names in
   your Parse classes. The constraints are implemented as method operators on
   field names that are tied to a value. Any symbol/string that is not one of
   the main expression keywords described here will be considered as a type of
   query constraint for the `where` clause in the query.
   @example
    # parts of a single where constraint
    { :column.constraint => value }
   @see Parse::Constraint
   @param conditions [Hash] a set of constraints for this query.
   @param opts [Hash] a set of options when adding the constraints. This is
    specific for each Parse::Constraint.
   @return [self]