2016-03-22 2 views
0

Новичка в mongoid на рельсах.кол-во vs all.count in mongoid

Что такое влияние на производительность использования

Class.all.count 

против

Class.count 

в Mongoid? Оба имеют класс Mongoid :: Criteria, поэтому в чем смысл использования Class.all?

ответ

1

Model.count и Model.all.count эквивалентны монгоиду. Если вы отслеживаете запросы, вы увидите такие вещи, как:

MOPED: 127.0.0.1:27017 COMMAND  database=... command={:count=>"models", :query=>{}} runtime: ... 

для обоих. Метод all не делает ничего ужасно полезного с Mongoid: если у вас уже есть запрос (то есть Mongoid::Criteria), то query и query.all функционально эквивалентны; если у вас только класс модели, то Model.all - это всего лишь Mongoid::Criteria, который соответствует всем документам.