我搜索谷歌并查看了文档,但我没有发现这个例子。
我有嵌入子项的这个对象:
{
teacher: "Balthazar",
students: [
{ name: 'Wilfred', sibling: 'Cordelia' },
{ name: 'Mortimer', sibling: 'Arthur' },
{ name: 'Cordelia', sibling: 'Wilfred' },
{ name: 'Arthur' sibling: 'Mortimer' },
]
}
我想找到Balthazar
或name
位于sibling
的{{1}}的学生。我让它以这种方式工作:
['Wilfred', 'Cordelia', 'foo']
但是,有一种更清洁的方式来链接标准吗?我尝试过链接,但它不起作用。它产生一个criteria_a = balthazar.students.in(name: ['Wilfred', 'Cordelia'])
criteria_b = balthazar.students.in(sibling: ['Wilfred', 'Cordelia'])
criteria_a << criteria_b
交叉点,而不是AND
。
OR
所以,简单来说,这个查询是balthazar.students.
.in(name: ['Wilfred', 'Corderial'])
.in(sibling: ['Wilfred', 'Corderial'])
。但我想要name is in array **AND** sibling is in array
。
答案 0 :(得分:1)
您可以使用any_of
balthazar.students.any_of({name: ['Wilfred', 'Cordelia']}, {sibling: ['Wilfred', 'Cordelia']})