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

cokyhe · May 21, 2013 · Last by cokyhe replied at May 21, 2013 · 2925 hits

研究半天了 官方文档也没发现嵌入文档有 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太棒了~~~多谢!

You need to Sign in before reply, if you don't have an account, please Sign up first.