MongoDB mongosh Find

MongoDB mongosh – Find Documents 🔍

In MongoDB, the find() method is used to retrieve documents from a collection.

It works like SELECT in SQL but uses JSON-style queries.


1️⃣ Find All Documents

db.students.find()

Readable format:

db.students.find().pretty()

2️⃣ Find with Condition

db.students.find({ age: 22 })

Multiple conditions:

db.students.find({ age: 22, course: "BA" })

3️⃣ Find One Document

db.students.findOne({ name: "Amit" })

📌 Returns the first matching document only.


4️⃣ Projection (Select Specific Fields)

Include fields:

db.students.find(
{ course: "BA" },
{ name: 1, age: 1 }
)

Exclude _id:

db.students.find(
{},
{ _id: 0 }
)

⚠️ You cannot mix 1 and 0 (except _id).


5️⃣ Comparison Operators

db.students.find({ age: { $gt: 20 } })
OperatorMeaning
$eqequal
$nenot equal
$gtgreater than
$gte
$ltless than
$lte
$inin list
$ninnot in list

6️⃣ Logical Operators

$and

db.students.find({
$and: [
{ age: { $gt: 20 } },
{ course: "BA" }
]
})

$or

db.students.find({
$or: [
{ course: "BA" },
{ course: "BSc" }
]
})

$not

db.students.find({
age: { $not: { $lt: 18 } }
})

7️⃣ Find in Arrays

db.users.find({ skills: "HTML" })

Using $all:

db.users.find({ skills: { $all: ["HTML", "CSS"] } })

8️⃣ Regular Expression (Search)

db.students.find({
name: { $regex: "^A", $options: "i" }
})

9️⃣ Sorting, Limit & Skip

Sort (Ascending = 1, Descending = -1)

db.students.find().sort({ age: -1 })

Limit

db.students.find().limit(3)

Skip

db.students.find().skip(2)

🔟 Count Documents

db.students.countDocuments({ course: "BA" })

SQL vs MongoDB (Find)

SQL

SELECT name, age FROM students WHERE age > 20;

MongoDB

db.students.find(
{ age: { $gt: 20 } },
{ name: 1, age: 1 }
)

Quick Recap 🧠

find() // all documents
findOne() // single document
projection // select fields
operators // filter conditions

You may also like...