# File lib/mongoid/criteria.rb, line 303 def search(*args) raise_invalid if args[0].nil? type = args[0] params = args[1] || {} return [ :ids, for_ids(type) ] unless type.is_a?(Symbol) conditions = params.delete(:conditions) || {} if conditions.include?(:id) conditions[:_id] = conditions[:id] conditions.delete(:id) end return [ type, where(conditions).extras(params) ] end