MongoDB Complete Guide
Comprehensive MongoDB Commands, CRUD, Aggregation, Indexing & Administration Reference
Database Commands
| Command |
Description |
show dbs |
List databases |
use mydb |
Create/Switch database |
db |
Current database |
db.dropDatabase() |
Delete database |
Collection Commands
| Command |
Description |
show collections |
List collections |
db.createCollection("users") |
Create collection |
db.users.drop() |
Delete collection |
Insert Documents
db.users.insertOne({
name:"Mark",
age:18,
city:"Delhi"
})
db.users.insertMany([
{name:"John",age:20},
{name:"Jane",age:21}
])
Find Documents
db.users.find()
db.users.findOne()
db.users.find().pretty()
Query Operators
| Operator |
Meaning |
$eq |
Equal |
$ne |
Not Equal |
$gt |
Greater Than |
$gte |
Greater Than Equal |
$lt |
Less Than |
$lte |
Less Than Equal |
db.users.find({
age:{ $gt:18 }
})
Logical Operators
db.users.find({
$and:[
{age:{ $gt:18 }},
{city:"Delhi"}
]
})
db.users.find({
$or:[
{city:"Delhi"},
{city:"Mumbai"}
]
})
Projection
db.users.find(
{},
{name:1,email:1,_id:0}
)
Sorting, Limit & Pagination
db.users.find().sort({age:1})
db.users.find().limit(10)
db.users.find().skip(20).limit(10)
Update Operations
db.users.updateOne(
{name:"Mark"},
{$set:{age:19}}
)
db.users.updateMany(
{},
{$set:{status:"active"}}
)
Delete Operations
db.users.deleteOne({name:"Mark"})
db.users.deleteMany({status:"inactive"})
Array Operations
db.users.updateOne(
{name:"Mark"},
{$push:{skills:"MongoDB"}}
)
db.users.updateOne(
{name:"Mark"},
{$pull:{skills:"Java"}}
)
Regular Expressions
db.users.find({
name:/^M/
})
Aggregation Framework
db.users.aggregate([
{
$group:{
_id:"$city",
total:{$sum:1}
}
}
])
db.users.aggregate([
{
$group:{
_id:null,
avgAge:{$avg:"$age"}
}
}
])
Lookup (MongoDB Join)
db.orders.aggregate([
{
$lookup:{
from:"users",
localField:"userId",
foreignField:"_id",
as:"user"
}
}
])
Indexing
db.users.createIndex({email:1})
db.users.createIndex(
{email:1},
{unique:true}
)
db.users.getIndexes()
Text Search
db.posts.createIndex({
title:"text",
content:"text"
})
db.posts.find({
$text:{
$search:"mongodb"
}
})
MongoDB Atlas Connection
mongodb+srv://username:password@cluster.mongodb.net/
const { MongoClient } = require("mongodb");
const client = new MongoClient(uri);
await client.connect();
Backup & Restore
mongodump --db school
mongorestore dump/
User Management
db.createUser({
user:"admin",
pwd:"password",
roles:[
{
role:"readWrite",
db:"school"
}
]
})
Performance Monitoring
db.stats()
db.users.stats()
db.serverStatus()
MongoDB Data Types
| Type |
Example |
| String |
"Mark" |
| Number |
18 |
| Boolean |
true |
| Array |
["JS","MongoDB"] |
| Object |
{city:"Delhi"} |
| Date |
new Date() |
| ObjectId |
_id |
Complete CRUD Example
use school
db.students.insertOne({
name:"Mark",
age:18
})
db.students.find()
db.students.updateOne(
{name:"Mark"},
{$set:{age:19}}
)
db.students.deleteOne({
name:"Mark"
})