$lte(小于等于)
最后更新:2026-10-09
$lte(小于等于)
$lte 选择字段值小于或等于指定值的文档。`{ price: { $lte: 50 } }` 匹配价格不超过 50 的商品。表达「最多」「不超过」语义,与 $gte 组合成闭区间。常用于优惠门槛、限额查询,是范围查询的常用端点,索引友好。
| 分类 | 比较 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ <字段>: { $lte: <值> } }
⚙️ 参数
| 字段 | 要匹配的文档字段名。 |
|---|---|
| 值 | 要比较的上限值,包含该值本身。 |
返回值:匹配的文档游标
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $lte:价格不超过 50 的商品
db.products.find({ price: { $lte: 50 } })
// 闭区间:数量 1 到 10
db.orders.find({ qty: { $gte: 1, $lte: 10 } })
运行结果:
// 返回所有价格小于等于 50 的商品;数量在 1 到 10 之间的订单
📌 注意事项
- $lte 含边界值,不含边界用 $lt
- 配合 $gte 表达闭区间,两端都可走索引
- 不同类型值不参与比较:数字 50 与字符串 '50' 不相等也不比较
🏷️ 相关标签
💡 相关案例
📚 相关教程
❓ 常见问题
Q$lte 能配合日期做「截止今天」吗?
A能,配合脚本生成今天零点后传入:{ createdAt: { $lte: new Date('2026-09-30T23:59:59') } }。
Q$lte 与 $lt 的区别?
A$lte 包含等于,$lt 严格小于。查「不超过 50」用 $lte: 50。
Q怎么查数量 1 到 10 之间?
A{ qty: { $gte: 1, $lte: 10 } },两端闭合。