我在Mongoid中具有category
type
的Array
字段。
例如类别:[“ val1”,“ val2”,“ val3”]
现在,我想使用`category:[“ val1”,“ val2”]来查询此模型,以便它返回我的合并
Model.where(类别:“ val1”)和Model.where(类别:“ val2”)
我可以为数组的每个元素单独进行操作,但是我想那会很慢,因为对于每个单独的元素,它将搜索所有文档。
我也尝试过Model.all_of({category: "val1"},{category: "val2"}).all
,但这不起作用。
我应该如何做?
在蒙古语中,有'$ in'运算符。所以你可以这样做:
Model.where(category: { '$in': ['val1', 'val2'] })
您可以使用Criteria all_in
使其更简单:
Model.all_in(category: ['val1','val2'])
或另一个变体:
Model.in(category: ['val1','val2'])