2013-03-14 88 views
5

哈希值的數組字段我有這樣查詢包含在mongoid

class User 
    include Mongoid::Document 
    field :c, as: :categories, type: Array 
end 

的模型,我存儲在其上的信息是這樣的:

a = UserCheckin.new 
a.c = [{id: rand(1000), name: 'a'}, {id: rand(1000), name: 'b'}, {id: rand(1000), name: 'c'}] 
a.save 

我不知道我是否濫用該數組類型通過在其上存儲散列,但事情是,mongodb不會抱怨它。

如何查詢類似名稱爲'a'或類別id高於2的用戶?

由於提前,

回答

12

我已經似乎已經找到了答案......對於任何人離開,我將它張貼在這裏。

User.where(c: {'$elemMatch' => {name: 'a'}}) 

它將返回所有用戶,其類別數組包含一個或多個名稱爲「a」的元素。