bulk_write() 사용하기
영상에서 보셨듯이, .bulk_write()에는 여러 가지 작업을 함께 담을 수 있어요:
InsertOne()UpdateOne()/UpdateMany()/ReplaceOne()DeleteOne()/DeleteMany()ReplaceOne()
지금 영화 데이터베이스에서 봄맞이 정리를 하려고 합니다. 여기서 위 작업들이 유용하게 쓰여요!
먼저, 팀에서는 평점이 높고 오스카상을 수상한 영화들을 홈페이지에서 "featured"로 표시하려고 해요. 다음으로, 여러 가지를 정리하기 위해 오래전에 개봉한 영화들은 제거하라는 지시가 있습니다.
두 변경 사항을 하나의 .bulk_write() 작업으로 묶어 한 번에 실행해 보세요.
이 연습은 강의의 일부입니다
Python으로 배우는 MongoDB 입문
연습 안내
operations의 첫 번째 작업을 완성하여 평점이8.0이상이고 오스카상을 수상한 모든 영화를 업데이트하세요. 이 영화들에 새 필드"featured"를True로 설정합니다.operations의 두 번째 작업을 완성하여1980년 이전에 개봉한 모든 영화를 삭제하세요.mov에 대해.bulk_write()작업을 수행하고 결과를res에 저장하세요.- 수정된 문서 수와 삭제된 문서 수를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
from pymongo import UpdateMany, DeleteMany
operations = [
# Set featured to True for all movies with rating > 8 that won oscar
____(
{ "rating" : { ____: ____}, "won_oscar": ____ },
{ "$set": { ____: ____} }
),
# Remove all movies with release_year before 1980
____(
{ "release_year": { ____: ____} }
)
]
# Perform bulk write
res = mov.____
# Print out counts
print(res.____)
print(res.____)