Nearby lessons

10 of 22

⚖️ MongoDB: Comparison Operators

MongoDB comparison operators allow you to filter documents based on specific conditions. These operators compare field values such as equality, inequality, greater than, less than, and more.

📚 Initial Data Setup

MongoDB Shell
NoSQL
Database
1db.students.insertMany([
2 { name: 'Akshay Kumar', age: 23, class: 'BCA'},
3 { name: 'Rajesh Khanna', age: 24, class: 'Btech'},
4 { name: 'Shahid Kapoor', age: 20, class: 'BSc'},
5 { name: 'John Abraham', age: 19, class: 'BCA'},
6 { name: 'Aamir Khan', age: 24, class: 'Btech'},
7 { name: 'Sunil Shetty', age: 22, class: 'BCA'},
8 { name: 'Kartik Aryan', age: 20, class: 'Btech'}
9]);
Query Result
JSON Output
✅ 7 student documents inserted successfully.

1️⃣ $eq — Equal To

MongoDB Shell
NoSQL
Database
1// Find students whose age is 20
2db.students.find({ age: { $eq: 20 } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'Shahid Kapoor', age: 20, class: 'BSc' },
{ name: 'Kartik Aryan', age: 20, class: 'Btech' }
]

2️⃣ $ne — Not Equal To

MongoDB Shell
NoSQL
Database
1// Find students whose age is NOT 20
2db.students.find({ age: { $ne: 20 } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'Akshay Kumar', age: 23, class: 'BCA' },
{ name: 'Rajesh Khanna', age: 24, class: 'Btech' },
{ name: 'John Abraham', age: 19, class: 'BCA' },
{ name: 'Aamir Khan', age: 24, class: 'Btech' },
{ name: 'Sunil Shetty', age: 22, class: 'BCA' }
]

3️⃣ $gt — Greater Than

MongoDB Shell
NoSQL
Database
1// Find students older than 20
2db.students.find({ age: { $gt: 20 } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'Akshay Kumar', age: 23, class: 'BCA' },
{ name: 'Rajesh Khanna', age: 24, class: 'Btech' },
{ name: 'Aamir Khan', age: 24, class: 'Btech' },
{ name: 'Sunil Shetty', age: 22, class: 'BCA' }
]

4️⃣ $gte — Greater Than or Equal To

MongoDB Shell
NoSQL
Database
1// Find students whose age is 20 or older
2db.students.find({ age: { $gte: 20 } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'Shahid Kapoor', age: 20, class: 'BSc' },
{ name: 'Kartik Aryan', age: 20, class: 'Btech' },
{ name: 'Akshay Kumar', age: 23, class: 'BCA' },
{ name: 'Rajesh Khanna', age: 24, class: 'Btech' },
{ name: 'Aamir Khan', age: 24, class: 'Btech' },
{ name: 'Sunil Shetty', age: 22, class: 'BCA' }
]

5️⃣ $lt — Less Than

MongoDB Shell
NoSQL
Database
1// Find students younger than 20
2db.students.find({ age: { $lt: 20 } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'John Abraham', age: 19, class: 'BCA' }
]

6️⃣ $lte — Less Than or Equal To

MongoDB Shell
NoSQL
Database
1// Find students whose age is 20 or younger
2db.students.find({ age: { $lte: 20 } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'Shahid Kapoor', age: 20, class: 'BSc' },
{ name: 'Kartik Aryan', age: 20, class: 'Btech' },
{ name: 'John Abraham', age: 19, class: 'BCA' }
]

7️⃣ $in — Matches Any Value in an Array

MongoDB Shell
NoSQL
Database
1// Find students with age 20, 24, or 28
2db.students.find({ age: { $in: [20, 24, 28] } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'Shahid Kapoor', age: 20, class: 'BSc' },
{ name: 'Kartik Aryan', age: 20, class: 'Btech' },
{ name: 'Rajesh Khanna', age: 24, class: 'Btech' },
{ name: 'Aamir Khan', age: 24, class: 'Btech' }
]

8️⃣ $nin — Does Not Match Any Value in an Array

MongoDB Shell
NoSQL
Database
1// Find students whose age is NOT 20 or 24
2db.students.find({ age: { $nin: [20, 24] } });
Query Result
JSON Output
🟢 Result:
[
{ name: 'Akshay Kumar', age: 23, class: 'BCA' },
{ name: 'John Abraham', age: 19, class: 'BCA' },
{ name: 'Sunil Shetty', age: 22, class: 'BCA' }
]
Keep Going!MongoDB - Logical Operators