$lte (Less Than or Equal)
Last updated: 2026-10-09
$lte (Less Than or Equal)
$lte is the expression-form less-than-or-equal comparison. It takes two arguments and returns true when the first is smaller than or equal to the second. It is used for upper-threshold checks and eligibility rules, such as whether an amount falls within a coupon limit. The expression syntax { $lte: [expr1, expr2] } differs from the query form. Comparisons follow BSON type ordering, so null and missing fields compare by type order. Unlike $lt it returns true when the values are equal.
| Category | Set, Condition & Conversion |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
{ $lte: [ <expression1>, <expression2> ] }
⚙️ Parameters
| expression 1 | The first expression to compare. |
|---|---|
| expression 2 | The second expression to compare. |
Returns:true when the first is less than or equal to the second, false otherwise
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// $lte: check whether the amount is within the coupon limit
db.orders.aggregate([
{ $project: {
eligible: { $lte: ['$total', 100] }
} }
])
Output:
{ '_id': 1, 'eligible': true }
{ '_id': 2, 'eligible': false }
📌 Notes
- Equality returns true
- The expression and query forms are written differently — mind the context
- Null participates by BSON type order
🏷️ Related Tags
💡 Related Cases
More hands-on cases coming soon.
📚 Related Tutorials
❓ FAQ
QWhat is the difference between $lte and $lt?
A$lte includes equality; $lt is strictly less.
QCan $lte be used in $match?
AYes, wrap it with $expr or use the field-plus-value syntax in $match.
QHow does $lte handle null?
AIt compares by BSON type order, with null ordered before numbers.