标签: mongodb
有没有办法在MongoDB中为多个不同范围的文档执行单个查询?
e.g。
!(x > 10 && x < 20) && !(x > 25 && x < 30),其中x是某个字段。
!(x > 10 && x < 20) && !(x > 25 && x < 30)
x
答案 0 :(得分:6)
您可以通过反转布尔表达式,使用$or和$gte和$lte运算符构造该查询:
$or
$gte
$lte
db.coll.find({ $or: [{x: {$lte: 10}}, {x: {$gte: 20, $lte: 25}}, {x: {$gte: 30}}] })