JX405기_비트/mongoDB

Day16-3 MongoDB 연습 문제1

_하루살이_ 2023. 2. 7. 20:57

student1 collection 생성

 db.student1.insertMany([
{ std_name:"Jack", gender:"Male", class:"VI", age:11, grd_point:33},
{ std_name:"Jenny", gender:"Female", class:"VI", age : 13, grd_point:30},
{ std_name : "Thomas", gender: "Male", class: "V", age : 11 , grd_point :35.1257},
{ std_name : "Lassy", gender:"Female", class:"X", age : 17, grd_point : 36.2514},
{ std_name : "Mia" , gender: "Female", class: "X", age: 19, grd_point : 35.5201},
{ std_name : "Mike", gender:"Male", class:"V" , age:16, grd_point : 35.5201}

])

 

1. 클래스가 VI이고 female인 학생 조회

 

db.student1.find({ gender : "Female", class : "VI"})

 

2. 여성이고, 학점이 31이상이고, 클래스가 X인 여성조회

 

db.student1.find({ gender : "Female", class : "X", grd_point : {$gte:31}})

 

 

 

student2 collection 생성

db.student2.insertMany([
{ std_name:"Jack", gender:"Male", class:"VI", age:11, Total_marks: 303, Result: "Pass"},
{ std_name:"Jenny", gender:"Female", class:"VI", age : 13, Total_marks: 800, Result: "Pass"},
{ std_name : "Thomas", gender: "Male", class: "V", age : 11 , Total_marks: 200, Result: "Fail"},
{ std_name : "Lassy", gender:"Female", class:"X", age : 17, Total_marks: 550, Result: "Pass"},
{ std_name : "Mia" , gender: "Female", class: "X", age: 19, Total_marks: 350, Result: "Pass"},
{ std_name : "Mike", gender:"Male", class:"V" , age:16, Total_marks: 700, Result: "Pass"}

])

 

 

3. Total_mark가 최소 400점 이상인 학생 조회 

 

db.student2.find({Total_marks: {$gte:400}})

 

4. 나이가 11살이 아닌 학생 조회

 

db.student2.find({age:{$ne:11}})

 

 

 

student3 Collection 생성

db.student3.insertMany([  
{  name : "Mick",  Course : "btech",  batch_year : 2018,  language : ["c++", "java", "python"],  personal_details :  {  Father_name : "Jonny", phone_no : 8895321456, age : 23, gender : "Male", City : "NewYork" } },  
{   name : "Zoya",  Course : "BCA", batch_year : 2020,  language : ["C#", "JavaScript"],  
 personal_details :  {  Father_name : "Henry",  phone_no : 9874563698, age : 20, gender : "Female",  City : "London" }  
}  ,
{  name : "Jonny", Course : "MCA",  batch_year : 2019, language : ["C#", "java", "PHP"], personal_details :  { Father_name : "Thomas", phone_no : 7845123698, age : 24,  gender : "Male",  City : "London" }            
} , 
{  name : "Oliver", Course : "BA", batch_year : 2017, language : ["c", "PHP"],  
personal_details : {  Father_name : "William",  phone_no : 9997845123,  age : 25, gender : "Male",   City : "Liverpool"}      
} , 
{  name : "Mia",  Course : "btech", batch_year : 2020, language : ["HTML", "CSS", "PHP"],  
 personal_details :   {  Father_name : "Leo",  phone_no : 6312547896, age : 22, gender : "Female",  City : "Manchester"  }             
}  
])

 

5. "MCA"과정이거나 batch_year가 2018년도인 학생조회

 

db.student3.find({$or:[{ Course:"MCA"},{batch_year:2018}]})

 

6. 나이가 20살이거나 출신도시가 London인 학생조회

 

db.student3.find({$or:[{"personal_details.age":{$eq:20}},{"personal_details.City":"London"}]})

 

7. C++, java, python중 한 과목이라도 수강하고 있는 학생 조회

 

db.student3.find({language:{$in: ['java', 'C++', 'python']}})

 

8. 출신도시가 London인 학생조회

 

db.student3.find({"personal_details.City":"London"})

 

 

 

 

9. 이름이 Mick, Zoya, and Mia인 학생의 pending_fees를 12000으로 수정

 

db.student3.updateMany({name : {$in :['Mick', 'Zoya', 'Mia']}}, {$set :{"penging_fees" :12000}})

 

10. 출신도시가 London도 아니고 22살도 아닌 학생 조회

 

db.student3.find({"personal_details.age":{$ne:22}, "personal_details.City":{$ne:"London"}})

 

11. 3명의 학생만 조회하기

 

db.student3.find().limit(3)