코딩과 결혼합니다

3주차 Quiz 본문

카테고리 없음

3주차 Quiz

코딩러버 2023. 5. 10. 14:43
728x90

웹개발 종합반 3주차 - Quiz

 

(1) 영화제목 '가디언즈 오브 갤럭시: Volume 3'의 평점을 가져오기

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

그대로 가져와서 변경

movie = db.movies.find_one({'title':'가디언즈 오브 갤럭시: Volume 3'})
print(movie)

실행해보면 터미널에 하나의 영화 정보만 나옴.

'title': '가디언즈 오브 갤럭시: Volume 3', 'rank': '1', 'rate': '8.8'}

 

 

 

 

(2) '가디언즈 오브 갤럭시: Volume 3'의 평점과 같은 평점의 영화 제목들을 가져오기

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({},{'_id':False}))

그대로 가져와서 변경

가디언즈 갤럭시의 rate값을 target_star라는 변수로 지정

movie = db.movies.find_one({'title':'가디언즈 오브 갤럭시: Volume 3'})
target_star = movie['rate']
movies = list(db.movies.find({'rate':target_star},{'_id':False}))

* 앞에 movies는 내가 정한 변수명. 뒤에 movies는 데이터를 가져올 그룹이름

* 그리고 조건을 적어줌 =>  'rate'의 값이 target_star와 같아야 한다.

 

 

movie = db.movies.find_one({'title':'가디언즈 오브 갤럭시: Volume 3'})
target_star = movie['rate']

movies = list(db.movies.find({'rate':target_star},{'_id':False}))
print(movies)

완성된 코드 터미널 실행하면

[{'title': '가디언즈 오브 갤럭시: Volume 3', 'rank': '1', 'rate': '8.8'}, {'title': '거울 속 외딴 성', 'rank': '15', 'rate': '8.8'}]

이렇게 2개의 영화가 나온다.

 

 

다음은 영화의 제목만 가져오기

movies = list(db.movies.find({'rate':target_star},{'_id':False}))
for a in movies:
    print(a['title'])

결과 값 : 

가디언즈 오브 갤럭시: Volume 3
거울 속 외딴 성

 

 

 

 

 

(3) '가디언즈 오브 갤럭시: Volume 3' 영화의 평점을 0으로 만들기

db.movies.update_one({'title':'가디언즈 오브 갤럭시: Volume 3'},{'$set':{'rate': 0}})

그리고 저장후 실행하면 

 

rate 값이 0 이 되었다.