作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想构造一个形式的查询:
select * from some_table
where
(field1 = 'x' or field2 = 'y')
and
(field3 = 'z' or field4 = 'w')
Mongoid
中看起来像这样:
SomeTable.or({:field1 => 'x'}, {:field2 => 'y'})
.and # or is it .intersect?
.or({:field3 => 'z'}, {:field4 => 'w'})
select * from some_table
where
(field1 = 'x' and field2 = 'y')
or
(field3 = 'z' and field4 = 'w')
最佳答案
看来我需要使用 mongo
的组合和 Mongoid
语法($something
运算符):
SomeTable.and( :$or => [ { :field1 => 'x' }, { :field2 => 'y' } ])
.and( :$or => [ { :field3 => 'z' }, { :field4 => 'w' } ])
SomeTable.or( :$and => [ { :field1 => 'x' }, { :field2 => 'y' } ])
.or( :$and => [ { :field3 => 'z' }, { :field4 => 'w' } ])
关于syntax - 在 Mongoid 中使用 AND 和 OR 的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13294860/
我是一名优秀的程序员,十分优秀!