我在Mongoid中有category
type
Array
字段。
实施例。类别:[“val1”,“val2”,“val3”]
现在我想用`category:[“val1”,“val2”]查询这个模型,这样它就会返回我的合并
Model.where(category:“val1”)和Model.where(category:“val2”)
我可以为数组的每个元素单独执行此操作,但是我认为这会很慢,因为对于每个单独的元素,它将搜索所有文档。
我也试过Model.all_of({category: "val1"},{category: "val2"}).all
,但这不起作用。
我该怎么做?
答案 0 :(得分:26)
在mongoid中,有'$ in'运算符。所以你可以这样做:
Model.where(category: { '$in': ['val1', 'val2'] })
答案 1 :(得分:11)
您可以使用Criteria all_in
来简化:
Model.all_in(category: ['val1','val2'])
答案 2 :(得分:7)
答案 3 :(得分:1)
或其他变体:
Model.in(category: ['val1','val2'])