Tuesday, 19 September 2017

Basic big data



College Name & Code :- Atmiya Instiute of Technology & Science – 502
Subject Name & Code :- BDT & 3650010

create the database:
---------------------------------
> use college
switched to db college
> db.createCollection("exam");
{ "ok" : 1 }

insert the record
-----------------------------------
db.exam.insert({_id:1,exam_id:1,
                type_of_exam:["midsem","practical-internal","external"],
                score:40
              });

db.exam.insert({_id:2,exam_id:2,
                type_of_exam:["midsem","practical-internal"],
                score:20
              });

db.exam.insert({_id:3,exam_id:3,
                type_of_exam:["midsem"],
                score:45
              });
db.exam.insert({_id:4,exam_id:4,
                type_of_exam:["midsem","practical-internal","external"],
                score:43
              });


db.exam.insert({_id:5,exam_id:5,
                type_of_exam:["midsem","practical-internal","external"],
                score:5
              });

db.exam.insert({_id:6,exam_id:6,
                type_of_exam:["midsem","practical-internal","external"],
                score:11
              });



 select the record
----------------------------------------
db.exam.find().skip(db.exam.count()-2);
{ "_id" : 5, "exam_id" : 5, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 5 }
{ "_id" : 6, "exam_id" : 6, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 11 }


db.exam.find().sort({score:-1});
{ "_id" : 3, "exam_id" : 3, "type_of_exam" : [ "midsem" ], "score" : 45 }
{ "_id" : 4, "exam_id" : 4, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 43 }
{ "_id" : 1, "exam_id" : 1, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 40 }
{ "_id" : 2, "exam_id" : 2, "type_of_exam" : [ "midsem", "practical-internal" ], "score" : 20 }
{ "_id" : 6, "exam_id" : 6, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 11 }
{ "_id" : 5, "exam_id" : 5, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 5 }

> db.exam.find({score:{$gte:10,$lt:50}});
{ "_id" : 1, "exam_id" : 1, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 40 }
{ "_id" : 2, "exam_id" : 2, "type_of_exam" : [ "midsem", "practical-internal" ], "score" : 20 }
{ "_id" : 3, "exam_id" : 3, "type_of_exam" : [ "midsem" ], "score" : 45 }
{ "_id" : 4, "exam_id" : 4, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 43 }
{ "_id" : 6, "exam_id" : 6, "type_of_exam" : [ "midsem", "practical-internal", "external" ], "score" : 11 }

update the record
------------------------------
 
> db.exam.update({},{$addToSet:{type_of_exam:"practical-external"}},{multi:true});
WriteResult({ "nMatched" : 6, "nUpserted" : 0, "nModified" : 6 })


 import the file
----------------------
[root@sandbox ~]# mongoimport -d college -c person --headerline --type csv --file "person.csv"
2017-09-16T04:53:52.579+0000        connected to: localhost
2017-09-16T04:53:52.642+0000        imported 7 documents

 show the tables
------------------------------
[root@sandbox ~]# mongo
> show collections
exam
person

> db.person.find();
{ "_id" : 1, "name" : "Ram", "status" : "A" }
{ "_id" : 2, "name" : "Laxman", "status" : "I" }
{ "_id" : 3, "name" : "Sitaji", "status" : "A" }
{ "_id" : 4, "name" : "Urmila", "status" : "A" }
{ "_id" : 6, "name" : "Bharat", "status" : "A" }
{ "_id" : 7, "name" : "Krishna", "status" : "I" }
{ "_id" : 5, "name" : "Shatru", "status" : "I" }
------------------------------------------------------------------
> use ProjectManagement
switched to db ProjectManagement
> db.createCollection("Employees");
{ "ok" : 1 }

db.Employees.insert({
                        _id:1,
                        employeeId:1,
                        employeeName:"Allen",
                        gender:"Male",
                        dateOfBirth:"11-09-1995",
                        dateOfJoining:"12-07-2012",
                        contactNumber:9988776655,
                        address:[{  
                                    houseNo:101,
                                    street:2,
                                    area:"Sadhu Vasvani Road",
                                    city:"Rajkot",
                                    pincode:360001
                                }],
                        projects:[{projectId:1,projectName:"PHP",startDate:"11-08-2017",endDate:"21-09-2017"}],
                        tasks:[ {taskId:1,taskName:"Task-1",description:"Task-1 Description",status:"Pending"},
                                {taskId:2,taskName:"Task-2",description:"Task-2 Description",status:"Completed"},
                                {taskId:3,taskName:"Task-3",description:"Task-3 Description",status:"Pending"}
                              ]
                    });         


db.Employees.insert({
                        _id:2,
                        employeeId:1,
                        employeeName:"Allen",
                        gender:"Male",
                        dateOfBirth:"11-09-1995",
                        dateOfJoining:"12-07-2012",
                        contactNumber:9988776655,
                        address:[{  
                                    houseNo:101,
                                    street:2,
                                    area:"Sadhu Vasvani Road",
                                    city:"Rajkot",
                                    pincode:360001
                                }],
                        projects:[{projectId:2,projectName:"Android",startDate:"21-07-2017",endDate:"29-08-2017",}],
                        tasks:[ {taskId:4,taskName:"Task-4",description:"Task-4 Description",status:"Pending"},
                                {taskId:5,taskName:"Task-5",description:"Task-5 Description",status:"Completed"},
                                {taskId:6,taskName:"Task-6",description:"Task-6 Description",status:"Pending"}
                              ]
                    });    


db.Employees.insert({
                        _id:3,
                        employeeId:1,
                        employeeName:"Allen",
                        gender:"Male",
                        dateOfBirth:"11-09-1995",
                        dateOfJoining:"12-07-2012",
                        contactNumber:9988776655,
                        address:[{  
                                    houseNo:101,
                                    street:2,
                                    area:"Sadhu Vasvani Road",
                                    city:"Rajkot",
                                    pincode:360001
                                }],
                        projects:[{projectId:3,projectName:"Android-1",startDate:"01-07-2017",endDate:"29-08-2017",}],
                        tasks:[ {taskId:7,taskName:"Task-7",description:"Task-7 Description",status:"Pending"},
                                {taskId:8,taskName:"Task-8",description:"Task-8 Description",status:"Completed"},
                                {taskId:9,taskName:"Task-9",description:"Task-9 Description",status:"Pending"}
                              ]
                    });

db.Employees.insert({
                        _id:4,
                        employeeId:1,
                        employeeName:"Allen",
                        gender:"Male",
                        dateOfBirth:"11-09-1995",
                        dateOfJoining:"12-07-2012",
                        contactNumber:9988776655,
                        address:[{  
                                    houseNo:101,
                                    street:2,
                                    area:"Sadhu Vasvani Road",
                                    city:"Rajkot",
                                    pincode:360001
                                }],
                        projects:[{projectId:4,projectName:"Android-2",startDate:"01-06-2017",endDate:"01-09-2017"}],
                        tasks:[ {taskId:10,taskName:"Task-7",description:"Task-10 Description",status:"Pending"},
                                {taskId:11,taskName:"Task-8",description:"Task-11 Description",status:"Completed"},
                                {taskId:12,taskName:"Task-9",description:"Task-12 Description",status:"Pending"}
                              ]
                    });

db.Employees.insert({
                        _id:5,
                        employeeId:1,
                        employeeName:"Allen",
                        gender:"Male",
                        dateOfBirth:"11-09-1995",
                        dateOfJoining:"12-07-2012",
                        contactNumber:9988776655,
                        address:[{  
                                    houseNo:101,
                                    street:2,
                                    area:"Sadhu Vasvani Road",
                                    city:"Rajkot",
                                    pincode:360001
                                }],
                        projects:[{projectId:5,projectName:"PHP-1",startDate:"11-08-2017",endDate:"11-12-2017"}],
                        tasks:[ {taskId:13,taskName:"Task-13",description:"Task-13 Description",status:"Pending"},
                                {taskId:14,taskName:"Task-14",description:"Task-14 Description",status:"Completed"},
                                {taskId:15,taskName:"Task-15",description:"Task-15 Description",status:"Pending"}
                              ]
                    });


db.Employees.insert({
                        _id:6,
                        employeeId:2,
                        employeeName:"Smith",
                        gender:"Male",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:102,
                                    street:1,
                                    area:"Pedak Road",
                                    city:"Rajkot",
                                    pincode:360004
                                }],
                        projects:[{projectId:1,projectName:"PHP",startDate:"11-08-2017",endDate:"21-09-2017"}],
                        tasks:[ {taskId:16,taskName:"Task-16",description:"Task-16 Description",status:"Pending"},
                                {taskId:17,taskName:"Task-17",description:"Task-17 Description",status:"Completed"},
                                {taskId:18,taskName:"Task-18",description:"Task-18 Description",status:"Pending"}
                              ]
                    }); 
db.Employees.insert({
                        _id:7,
                        employeeId:2,
                        employeeName:"Smith",
                        gender:"Male",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:102,
                                    street:1,
                                    area:"Pedak Road",
                                    city:"Rajkot",
                                    pincode:360004
                                }],
                        projects:[{projectId:2,projectName:"Android",startDate:"21-07-2017",endDate:"29-08-2017",}],
                        tasks:[ {taskId:19,taskName:"Task-19",description:"Task-19 Description",status:"Pending"},
                                {taskId:20,taskName:"Task-20",description:"Task-20 Description",status:"Completed"},
                                {taskId:1,taskName:"Task-1",description:"Task-1 Description",status:"Pending"}
                              ]
                    }); 
db.Employees.insert({
                        _id:8,
                        employeeId:2,
                        employeeName:"Smith",
                        gender:"Male",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:102,
                                    street:1,
                                    area:"Pedak Road",
                                    city:"Rajkot",
                                    pincode:360004
                                }],
                        projects:[{projectId:3,projectName:"Android-1",startDate:"01-07-2017",endDate:"29-08-2017",}],
                        tasks:[ {taskId:2,taskName:"Task-2",description:"Task-2 Description",status:"Pending"},
                                {taskId:3,taskName:"Task-3",description:"Task-3 Description",status:"Completed"},
                                {taskId:4,taskName:"Task-4",description:"Task-4 Description",status:"Pending"}
                              ]
                    }); 
db.Employees.insert({
                        _id:9,
                        employeeId:2,
                        employeeName:"Smith",
                        gender:"Male",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:102,
                                    street:1,
                                    area:"Pedak Road",
                                    city:"Rajkot",
                                    pincode:360004
                                }],
                        projects:[{projectId:4,projectName:"Android-2",startDate:"01-06-2017",endDate:"01-09-2017"}],
                        tasks:[ {taskId:5,taskName:"Task-13",description:"Task-5 Description",status:"Pending"},
                                {taskId:6,taskName:"Task-14",description:"Task-6 Description",status:"Completed"},
                                {taskId:7,taskName:"Task-15",description:"Task-7 Description",status:"Pending"}
                              ]
                    }); 
db.Employees.insert({
                        _id:10,
                        employeeId:2,
                        employeeName:"Smith",
                        gender:"Male",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:102,
                                    street:1,
                                    area:"Pedak Road",
                                    city:"Rajkot",
                                    pincode:360004
                                }],
                        projects:[{projectId:5,projectName:"PHP-1",startDate:"11-08-2017",endDate:"11-12-2017"}],
                        tasks:[ {taskId:8,taskName:"Task-8",description:"Task-8 Description",status:"Pending"},
                                {taskId:9,taskName:"Task-9",description:"Task-9 Description",status:"Completed"},
                                {taskId:10,taskName:"Task-10",description:"Task-10 Description",status:"Pending"}
                              ]
                    }); 

db.Employees.insert({
                        _id:11,
                        employeeId:3,
                        employeeName:"Meera",
                        gender:"Female",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:102,
                                    street:1,
                                    area:"Paresh Road",
                                    city:"Rajkot",
                                    pincode:360004
                                }],
                        projects:[{projectId:5,projectName:"PHP-1",startDate:"11-08-2017",endDate:"11-12-2017"}],
                        tasks:[ {taskId:8,taskName:"Task-8",description:"Task-8 Description",status:"Pending"},
                                {taskId:9,taskName:"Task-9",description:"Task-9 Description",status:"Completed"},
                                {taskId:10,taskName:"Task-10",description:"Task-10 Description",status:"Pending"}
                              ]
                    }); 

db.Employees.insert({
                        _id:12,
                        employeeId:3,
                        employeeName:"Metal",
                        gender:"Female",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:103,
                                    street:3,
                                    area:"Kalawad Road",
                                    city:"Rajkot",
                                    pincode:360002
                                }],
                        projects:[{projectId:2,projectName:"Android",startDate:"21-07-2017",endDate:"29-08-2017",}],
                        tasks:[ {taskId:4,taskName:"Task-4",description:"Task-4 Description",status:"Pending"},
                                {taskId:5,taskName:"Task-5",description:"Task-5 Description",status:"Completed"},
                                {taskId:6,taskName:"Task-6",description:"Task-6 Description",status:"Pending"}
                              ]
                    });

db.Employees.insert({
                        _id:13,
                        employeeId:3,
                        employeeName:"Meera",
                        gender:"Female",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:103,
                                    street:3,
                                    area:"Kalawad Road",
                                    city:"Rajkot",
                                    pincode:360002
                                }],
                        projects:[{projectId:2,projectName:"Android",startDate:"21-07-2017",endDate:"29-08-2017",}],
                        tasks:[ {taskId:19,taskName:"Task-19",description:"Task-19 Description",status:"Pending"},
                                {taskId:20,taskName:"Task-20",description:"Task-20 Description",status:"Completed"},
                                {taskId:1,taskName:"Task-1",description:"Task-1 Description",status:"Pending"}
                              ]
                    });
db.Employees.insert({
                        _id:14,
                        employeeId:3,
                        employeeName:"Meera",
                        gender:"Female",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:103,
                                    street:3,
                                    area:"Kalawad Road",
                                    city:"Rajkot",
                                    pincode:360002
                                }],
                        projects:[{projectId:4,projectName:"Android-2",startDate:"01-06-2017",endDate:"01-09-2017"}],
                        tasks:[ {taskId:5,taskName:"Task-13",description:"Task-5 Description",status:"Pending"},
                                {taskId:6,taskName:"Task-14",description:"Task-6 Description",status:"Completed"},
                                {taskId:7,taskName:"Task-15",description:"Task-7 Description",status:"Pending"}
                              ]
                    });
db.Employees.insert({
                        _id:15,
                        employeeId:3,
                        employeeName:"Mina",
                        gender:"Female",
                        dateOfBirth:"21-07-1991",
                        dateOfJoining:"05-02-2012",
                        contactNumber:9977776655,
                        address:[{  
                                    houseNo:103,
                                    street:3,
                                    area:"Kalawad Road",
                                    city:"Rajkot",
                                    pincode:360002
                                }],
                        projects:[{projectId:3,projectName:"Android-1",startDate:"01-07-2017",endDate:"29-08-2017",}],
                        tasks:[ {taskId:2,taskName:"Task-2",description:"Task-2 Description",status:"Pending"},
                                {taskId:3,taskName:"Task-3",description:"Task-3 Description",status:"Completed"},
                                {taskId:4,taskName:"Task-4",description:"Task-4 Description",status:"Pending"}
                              ]
                    });


db.Employees.update({employeeId:3},{$set:{address:[{houseNo:104,street:4,area:"C.G.Road",city:"Rajkot",pincode:360002}]}},{multi:true});
WriteResult({ "nMatched" : 5, "nUpserted" : 0, "nModified" : 5 })

db.Employees.find({"address.area":"C.G.Road"}).sort({employeeId:1});


> db.Employees.aggregate({$group:{_id:"$employeeId",Total:{$sum:"projects.0"}}});
{ "_id" : 3, "Total" : 0 }
{ "_id" : 2, "Total" : 0 }
{ "_id" : 1, "Total" : 0 }



> var map=function(){emit(this.employeeId,1);}
> var red=function(key,value){return Array.sum(value);}
> db.Employees.mapReduce(map,red,{out:"tot"});
{
            "result" : "tot",
            "timeMillis" : 489,
            "counts" : {
                        "input" : 14,
                        "emit" : 14,
                        "reduce" : 3,
                        "output" : 3
            },
            "ok" : 1
}
> db.tot.find();
{ "_id" : 1, "value" : 5 }
{ "_id" : 2, "value" : 5 }
{ "_id" : 3, "value" : 4 }

No comments:

Post a Comment