新手问题 Mongoid 获取嵌入文档,分页无法用 skip?

cokyhe · 2013年05月21日 · 最后由 cokyhe 回复于 2013年05月21日 · 2925 次阅读

研究半天了 官方文档也没发现嵌入文档有 skip 这个方法~~~~折腾 S 了!!!

#网站分类

class SiteCategory
  include Mongoid::Document
  field :category, type: String, localize:true
  embeds_many :sub_categorys
end

#网站分类的子分类

class SubCategory
  include Mongoid::Document
  field :category, type: String, localize:true
  embedded_in :SiteCategory
end

#获取嵌入文档的结果

site_category = SiteCategory.where(:category=>'Arts').first
sub = site_category.sub_categorys.where(:category.ne =>nil).skip(1).limit(1).first

这里的 skip 和 limit 无效 也不报错 取的始终是第一条数据,debug 以后 发现 site_category.sub_categorys 是个 Array site_category.sub_categorys[1] 可以获得第二条数据,求解惑。谢谢~~~

正经新手,学 mongoid 才一个星期,文档没法搜索,查点东西太累~~

要对嵌入文档数组做分页,需要在查询文档的时候就加上 slice http://docs.mongodb.org/manual/reference/projection/slice/

http://mongoid.org/en/origin/docs/options.html 页内搜索 slice。

queryable.slice(aliases: [ 0, 5 ])

Rei太棒了~~~多谢!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号