如何在MongoDB中实现类似SQL的Between查询,筛选24落在from/to字段区间的文档
MongoDB 区间匹配查询实现方案
你要实现的「检索指定值落在from和to字段闭区间内」的需求,对应SQL的24 between from and to逻辑,在MongoDB中可以通过组合两个比较操作符实现:
具体查询语句
db.你的集合名.find({ "from": { $lte: 24 }, "to": { $gte: 24 } })
逻辑说明
$lte是小于等于匹配规则,这里先筛选出所有from字段值 ≤ 24的文档$gte是大于等于匹配规则,再筛选出所有to字段值 ≥ 24的文档- 两个条件同时生效,就正好匹配「24处于
from和to构成的闭区间内」的逻辑,和你提供的SQL语义完全一致
用你给出的示例数据执行上述查询,会返回你预期的from = 21、to =30的目标文档。
如果需要使用开区间匹配,只需要把$lte替换为$lt(小于)、$gte替换为$gt(大于)即可。
内容的提问来源于stack exchange,提问作者Chris Joo
相关产品推荐
相关产品推荐

