Bird
Raised Fist0
MongoDBquery~5 mins

$lt and $lte for less than in MongoDB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the $lt operator do in MongoDB?

The $lt operator finds documents where the value of a field is less than a specified value.

Click to reveal answer
beginner
How is $lte different from $lt in MongoDB?

$lte means "less than or equal to" while $lt means strictly "less than". $lte includes the value itself.

Click to reveal answer
beginner
Write a MongoDB query to find all documents where the field age is less than 30.
{ "age": { "$lt": 30 } }
Click to reveal answer
beginner
Write a MongoDB query to find all documents where the field score is less than or equal to 100.
{ "score": { "$lte": 100 } }
Click to reveal answer
beginner
Why would you use $lt or $lte in a real-life database search?

To find items with values below a limit, like products cheaper than $50 ($lt) or students with grades up to 70 ($lte).

Click to reveal answer
Which operator finds documents where a field is strictly less than a value?
A$lte
B$gte
C$gt
D$lt
What does { "price": { "$lte": 20 } } find?
ADocuments with price less than 20
BDocuments with price less than or equal to 20
CDocuments with price greater than 20
DDocuments with price equal to 20 only
Which query finds documents where age is less than 18?
A{ "age": { "$lt": 18 } }
B{ "age": { "$gt": 18 } }
C{ "age": { "$gte": 18 } }
D{ "age": { "$lte": 18 } }
If you want to include the value 50 in your search for less than or equal, which operator do you use?
A$lte
B$lt
C$gt
D$ne
Which operator would NOT be used to find values less than a number?
A$lt
B$lte
C$gt
Dtl$
Explain the difference between $lt and $lte in MongoDB queries.
Think about whether the boundary value itself is included or not.
You got /3 concepts.
    Write a MongoDB query to find all documents where the field temperature is less than or equal to 0.
    Use the $lte operator with the field and value.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the MongoDB operator $lt do in a query?
      easy
      A. Finds documents where the field value is less than a specified value
      B. Finds documents where the field value is greater than a specified value
      C. Finds documents where the field value is equal to a specified value
      D. Finds documents where the field value is not equal to a specified value

      Solution

      1. Step 1: Understand the meaning of $lt

        The $lt operator means "less than" in MongoDB queries.
      2. Step 2: Apply the operator meaning to query behavior

        It selects documents where the field value is strictly less than the given value.
      3. Final Answer:

        Finds documents where the field value is less than a specified value -> Option A
      4. Quick Check:

        $lt means less than [OK]
      Hint: Remember: lt = less than, lte = less than or equal [OK]
      Common Mistakes:
      • Confusing $lt with $lte
      • Thinking $lt means less than or equal
      • Mixing $lt with greater than operators
      2. Which of the following is the correct MongoDB query syntax to find documents where the field age is less than or equal to 30?
      easy
      A. { age: { $lte: 30 } }
      B. { age: { $lt: 30 } }
      C. { age: { $gt: 30 } }
      D. { age: { $gte: 30 } }

      Solution

      1. Step 1: Identify the operator for less than or equal

        The operator $lte means "less than or equal to" in MongoDB.
      2. Step 2: Match the operator with the query syntax

        The correct syntax to find documents where age is less than or equal to 30 is { age: { $lte: 30 } }.
      3. Final Answer:

        { age: { $lte: 30 } } -> Option A
      4. Quick Check:

        $lte means less than or equal [OK]
      Hint: Use $lte for less than or equal, $lt for strictly less [OK]
      Common Mistakes:
      • Using $lt instead of $lte for less than or equal
      • Using greater than operators by mistake
      • Incorrect query object structure
      3. Given the collection products with documents:
      { "name": "Pen", "price": 5 }
      { "name": "Notebook", "price": 10 }
      { "name": "Bag", "price": 20 }

      What will be the result of the query db.products.find({ price: { $lt: 10 } })?
      medium
      A. []
      B. [{ "name": "Pen", "price": 5 }, { "name": "Notebook", "price": 10 }]
      C. [{ "name": "Pen", "price": 5 }]
      D. [{ "name": "Notebook", "price": 10 }, { "name": "Bag", "price": 20 }]

      Solution

      1. Step 1: Understand the query condition

        The query uses $lt: 10, so it finds documents where price is less than 10.
      2. Step 2: Check each document's price

        Only the "Pen" has price 5, which is less than 10. "Notebook" has price 10, which is not less than 10.
      3. Final Answer:

        [{ "name": "Pen", "price": 5 }] -> Option C
      4. Quick Check:

        Only prices less than 10 included [OK]
      Hint: Remember $lt excludes equal values, only strictly less [OK]
      Common Mistakes:
      • Including documents with price equal to 10
      • Confusing $lt with $lte
      • Returning empty result by mistake
      4. You wrote this query to find documents where score is less than or equal to 50:
      db.scores.find({ score: { $lt: 50 } })
      But you want to include documents where score is exactly 50. What is the error and how to fix it?
      medium
      A. Use $gt instead of $lt
      B. No error, query is correct
      C. Add $eq: 50 inside the query
      D. Use $lte instead of $lt to include 50

      Solution

      1. Step 1: Identify the operator used

        The query uses $lt, which excludes values equal to 50.
      2. Step 2: Choose the correct operator to include 50

        To include values equal to 50, use $lte (less than or equal).
      3. Final Answer:

        Use $lte instead of $lt to include 50 -> Option D
      4. Quick Check:

        $lte includes equal values [OK]
      Hint: Use $lte to include the boundary value [OK]
      Common Mistakes:
      • Using $lt and expecting equal values included
      • Using $gt which is wrong direction
      • Trying to combine $lt and $eq unnecessarily
      5. You have a collection orders with documents containing total values. You want to find all orders with total less than or equal to 100 but greater than 50. Which query correctly uses $lt and $lte to achieve this?
      hard
      A. { total: { $gte: 50, $lt: 100 } }
      B. { total: { $gt: 50, $lte: 100 } }
      C. { total: { $lt: 100, $lte: 50 } }
      D. { total: { $lt: 100, $gt: 50 } }

      Solution

      1. Step 1: Understand the range needed

        We want totals greater than 50 and less than or equal to 100.
      2. Step 2: Match operators to conditions

        $gt: 50 means strictly greater than 50, $lte: 100 means less than or equal to 100.
      3. Step 3: Check query syntax

        { total: { $gt: 50, $lte: 100 } } correctly uses both operators in one object: { total: { $gt: 50, $lte: 100 } }.
      4. Final Answer:

        { total: { $gt: 50, $lte: 100 } } -> Option B
      5. Quick Check:

        Use $gt for greater than, $lte for less than or equal [OK]
      Hint: Combine $gt and $lte for range queries [OK]
      Common Mistakes:
      • Mixing $lt and $lte incorrectly
      • Using $gte instead of $gt when strict greater needed
      • Reversing operator directions