我在rails 3项目上有一个ruby,我在其中使用.limit(3)查询一定数量的对象。然后,在我看来,我循环遍历这些对象。之后,如果视图中有3个对象,我会显示“加载更多”按钮。这是视图代码:
<% @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考虑我的查询中的.limit和.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']
可能表示不同,但我不确定。