레일리 3 프로젝트에서 .limit (3)을 사용하여 특정 개수의 객체를 쿼리합니다. 그런 다음, 내 견해로 볼 때, 나는이 객체들을 순환합니다. 그 후에 뷰에 3 개의 오브젝트가 있으면 "더로드"버튼을 표시합니다. 다음은 뷰 코드 :MongoID는 .count (true)에 대해 별도의 쿼리를 수행합니까?
<% @objects.each do |object| %>
<%= render object._type.pluralize.underscore + '/teaser', :object => object %>
<% end %>
<% if @objects.size(true) == 3 %>
#load more link here
<% end %>
size(true)
는 mongoID 계정으로으로 제한 할 소요 있는지, 내 쿼리 .offset하는 부울 전달된다 (그렇지 않으면 관계없이의, 일치하는 개체의 총 수를 반환 한계/오프셋).
MONGODB project_development['system.indexes'].insert([{:name=>"_public_id_1", :ns=>"project_development.objects", :key=>{"_public_id"=>1}, :unique=>true}])
MONGODB project_development['objects'].find({:deleted_at=>{"$exists"=>false}}).limit(3).sort([[:created_at, :desc]])
#some rendering of views
MONGODB project_development['system.indexes'].insert([{:name=>"_public_id_1", :ns=>"project_development.objects", :key=>{"_public_id"=>1}, :unique=>true}])
MONGODB project_development['$cmd'].find({"count"=>"objects", "query"=>{:deleted_at=>{"$exists"=>false}}, "limit"=>3, "fields"=>nil})
내 질문은 : MongoID 내 @objects.size(true)
에 대해 별도의 쿼리를합니까 여기에 관련 개발 로그 라인은? 나는 ['$cmd']
가 다른 것을 나타낼지도 모른다라고 생각한다. 그러나 나는 확실하지 않다.
링크를 제공해 주셔서 감사합니다. 매우 감사! –