Nearby lessons

12 of 22

🧱 MongoDB: Element Operators

MongoDB provides **Element Query Operators** to test whether a field exists in a document or to check the data type of a specific field. These are useful when working with documents that may have varying structures.

📚 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]);
Query Result
JSON Output
✅ 5 student documents inserted successfully.

1️⃣ Using $exists — Check Field Existence

MongoDB Shell
NoSQL
Database
1// Find students where the 'age' field exists
2db.students.find({ age: { $exists: true } });
Query Result
JSON Output
[
{ name: "Akshay Kumar", age: 23, class: "BCA" },
{ name: "Rajesh Khanna", age: 24, class: "Btech" },
{ name: "Shahid Kapoor", age: 20, class: "BSc" },
{ name: "John Abraham", age: 19, class: "BCA" },
{ name: "Aamir Khan", age: 24, class: "Btech" }
]

🔹 Example — Field Does NOT Exist

MongoDB Shell
NoSQL
Database
1// Find students where the 'city' field does NOT exist
2db.students.find({ city: { $exists: false } });
Query Result
JSON Output
[
{ name: "Akshay Kumar", age: 23, class: "BCA" },
{ name: "Rajesh Khanna", age: 24, class: "Btech" },
{ name: "Shahid Kapoor", age: 20, class: "BSc" },
{ name: "John Abraham", age: 19, class: "BCA" },
{ name: "Aamir Khan", age: 24, class: "Btech" }
]

2️⃣ Using $type — Check Data Type

MongoDB Shell
NoSQL
Database
1// Find students where 'age' is of type number
2db.students.find({ age: { $type: "number" } });
Query Result
JSON Output
[
{ name: "Akshay Kumar", age: 23, class: "BCA" },
{ name: "Rajesh Khanna", age: 24, class: "Btech" },
{ name: "Shahid Kapoor", age: 20, class: "BSc" },
{ name: "John Abraham", age: 19, class: "BCA" },
{ name: "Aamir Khan", age: 24, class: "Btech" }
]

🔹 Example — Field Stored as String

MongoDB Shell
NoSQL
Database
1// Find students where 'class' is stored as a string
2db.students.find({ class: { $type: "string" } });
Query Result
JSON Output
[
{ name: "Akshay Kumar", age: 23, class: "BCA" },
{ name: "Rajesh Khanna", age: 24, class: "Btech" },
{ name: "Shahid Kapoor", age: 20, class: "BSc" },
{ name: "John Abraham", age: 19, class: "BCA" },
{ name: "Aamir Khan", age: 24, class: "Btech" }
]
Keep Going!MongoDB - Aggregation Pipeline Operators