Rails query of array field with mongoid

calebx · 2012年05月31日 · 最后由 calebx 回复于 2012年05月31日 · 3548 次阅读

我的 model 是这样的:

class Trip
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::MultiParameterAttributes

  field :images, :type => Array, :default => []
end

我的查询是这样:

Trip.where(:images.size => 1).size #=>1, 发现一个array size = 3 的
Trip.where(:images.size => 0).size #=>0, 奇怪的很,什么也没发现。

我想查询 images 这个 array field 为空的记录,应该怎么查呢? 非空的又如何查呢?

mongoid 3.0 好像可以用一个 with_size 方法,但是 2.+ 没有,见鬼,旧的 api 又不见了。

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