5

我有一个这样的模型

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 的用户之类的内容?

提前致谢,

4

1 回答 1

12

我似乎找到了答案......对于剩下的任何人,我会在这里发布。

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

它将返回所有用户,其类别数组具有一个或多个名称为“a”的元素。

于 2013-03-15T11:39:04.357 回答