我有两个集合,我想通过引用的集合进行分页。
class Col1
include Mongoid::Document
field :slug, :type => String
field :created_at, :type => DateTime
has_many :col2, :order => :created_at.desc
end
class Col2
include Mongoid::Document
field :some_id, type: String
field :html, type: String
field :created_at, type: DateTime
belongs_to :col1
end
这就是我想出来的,
Col1.find_by(slug: "slug").col2.page(2).per(1).entries
我的问题是,这个查询是从Mongodb分页而不是Mongoid会加载所有内容并从结果中分页。那么,如果我有100万个文档,它不会加载所有文档并缓存结果并分页?如果要这样做,我该如何从Mongo db中分页?
编辑:
这是我从Mongoid获得的标准,但我不确定是不是这样。
#<Mongoid::Criteria
selector: {"_id"=>BSON::ObjectId('52d1b99465756eaf02010000')}
options: {:sort=>{"created_at"=>-1}, :limit=>25, :skip=>0}
class: Col2
embedded: false>