sudo rm -rf /usr/local/mongodb
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.6.12.tgz
tar -xvzf mongodb-linux-i686-2.6.12.tgz
sudo mv mongodb-linux-i686-2.6.12 /usr/local/mongodb
file /usr/local/mongodb/bin/mongo
Start MongoDB Server
First create data directory (only first time):
sudo mkdir -p /data/db
sudo chmod -R 777 /data
/usr/local/mongodb/bin/mongod --dbpath /data/db
You will see logs like:
waiting for connections on port 27017Open Mongo Shell (New Terminal)
Open a new terminal window and run:
/usr/local/mongodb/bin/mongoYou will see:
>> show dbs>use trainingdb
>
db.students.insert([
{name:"Ravi", age:22, course:"Hadoop", marks:75},
{name:"Anita", age:21, course:"MongoDB", marks:85},
{name:"Suresh", age:23, course:"Hadoop", marks:65},
{name:"Priya", age:22, course:"Spark", marks:90},
{name:"Kiran", age:24, course:"MongoDB", marks:70},
{name:"Meena", age:21, course:"Hadoop", marks:88},
{name:"Arun", age:23, course:"Spark", marks:60}
])
>
COUNT Function
Count total documents:
db.students.count()
Count with condition:
db.students.count({course:"Hadoop"})
SORT Function
Sort by marks ascending:
db.students.find().sort({marks:1})
Sort by marks descending:
db.students.find().sort({marks:-1})
Sort by age:
db.students.find().sort({age:1})
LIMIT Function
Top 3 students:
db.students.find().limit(3)
Top 3 highest marks:
db.students.find().sort({marks:-1}).limit(3)
SKIP Function
Skip first 2 records:
db.students.find().skip(2)
Pagination example (skip 2, show next 3):
db.students.find().skip(2).limit(3)
AGGREGATE Function (Important)
Aggregation framework example.
🔹 Total number of students per course
db.students.aggregate([
{ $group: { _id: "$course", totalStudents: { $sum: 1 } } }
])
🔹 Average marks per course
db.students.aggregate([
{ $group: { _id: "$course", avgMarks: { $avg: "$marks" } } }
])
🔹 Maximum marks per course
db.students.aggregate([
{ $group: { _id: "$course", maxMarks: { $max: "$marks" } } }
])
🔹 Minimum marks per course
db.students.aggregate([
{ $group: { _id: "$course", minMarks: { $min: "$marks" } } }
])
🔹 Sort after aggregation
db.students.aggregate([
{ $group: { _id: "$course", avgMarks: { $avg: "$marks" } } },
{ $sort: { avgMarks: -1 } }
])
STOP MONGO DB
If you started MongoDB like this:
/usr/local/mongodb/bin/mongod --dbpath /data/db
Then simply go to that terminal and press:
CTRL + C
No comments:
Post a Comment