2016-03-22 2 views
0

Новичок в рельсах с мангой.где(). First vs find_by on mongoid

Есть ли разница влияет на производительность между использованием

Model.where(:name => "XYZ").first 

и

Model.find_by(:name => "XYZ") 

я вижу в консоли, что оба эти запросы используют «Limit 1» в запросе (когда я на Postgres). Это одно и то же поведение в Монгоиде?

ответ

2

кажется find_by использует где и первый внутренне

def find_by(attrs = {}) 
    result = where(attrs).find_first 
    if result.nil? && Mongoid.raise_not_found_error 
    raise(Errors::DocumentNotFound.new(self, attrs)) 
    end 
    yield(result) if result && block_given? 
    result 
end 
Смежные вопросы