Comparison Operators
Comparison Operators: free step-by-step lesson with examples, common mistakes, and interview tips — part of MongoDB Tutorial on Toolliyo Academy.
On this page
MongoDB Tutorial · Lesson 21 of 100
Comparison Operators
Foundations & CRUD ✓ → Queries & Schema → Aggregation & Scale → Atlas & Projects
Queries & Schema · 2 — Design · ~6 min · MongoDB — Query Operators
What is this?
Comparison operators filter by relative value: $eq, $ne, $gt, $gte, $lt, $lte, and $in / $nin. They live inside the field object in a query.
Why should you care?
Price sliders, age checks, and “status not cancelled” all need comparisons — the same idea as SQL < > BETWEEN.
See it live — copy this example
Open mongosh or MongoDB Compass, select database nosqlverse, then run the example. Change one field and run again.
db.products.insertMany([
{ name: "Budget Buds", price: 999 },
{ name: "Mid Buds", price: 2999 },
{ name: "Pro Buds", price: 7999 }
])
db.products.find({ price: { $gte: 1000, $lte: 5000 } })
db.products.find({ price: { $in: [999, 7999] } })
db.products.find({ name: { $ne: "Mid Buds" } })
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- First find is a range 1000–5000 (Mid Buds).
- $in picks exact prices at the ends.
- $ne excludes Mid Buds.
- You can combine operators on one field.
Practice next
- Seed the three products.
- Try $gt: 3000 alone.
- Try $nin: [999] and list results.
- Find price: { $gt: 999, $lt: 7999 }.
- Add stock and filter stock: { $lte: 0 } for sold out.
Remember
$gt/$gte/$lt/$lte build ranges. $in matches any value in a list. $ne excludes a value.
Hotel price filter
Booking apps query rooms with price $gte/$lte from the slider.
Outcome: Results refresh to the selected budget band.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!