mongoDB高级查询问题
我现在在项目中遇到一种情况,需要一种查询方式解决,在关系型数据库中我们采用sql是这样的形式:
select * from table where (rule1 or rule2 or rule3) and (rule4 or rule5 or rule6);
回到mongoDB,我要实现的功能就是,有两个条件数组,每个数组里面的每一条数据规则是以 ‘或’/or 的关系,
而两个数组之间是 ‘与’/and 的关系,那么方式是这样的: db.table.find({
$or: [rule1,rule2,rule3],
$or: [rule4,rule5,rule6]})
但是现在问题是: ‘$or’是一个key,肯定不能用两次,所以上面的查询方式是行不通的,有什么方法实现呢?
期待大家的回复,谢谢!!!
2 回复
试下$and
:
.find({
$and:[ { $or: [rule1,...]}, {$or: [rule4,...]} ]
})
正解,已解决,谢谢