시작하기무료로 시작하기

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.____)
코드 편집 및 실행