MongoDB 작업 결합하기

Python으로 배우는 MongoDB 입문

Filip Schouwenaars

Machine Learning Researcher

대량 작업 만들기

from pymongo import InsertOne, UpdateOne    # 클래스 임포트

operations = [ InsertOne({ # 작업 1 "title": "Dune", "genre": ["action", "adventure", "drama"], "release_year": 2021, "rating": 8.0, "won_oscar": False }), UpdateOne( # 작업 2 { "title": "Titanic" }, { "$set": { "won_oscar": True } } ) ]
result = mov.bulk_write(operations) # 리스트를 bulk_write에 전달
Python으로 배우는 MongoDB 입문

결과 이해하기

print(result.inserted_count)
1
print(result.modified_count)
1

유의 사항

  • 순서대로 실행: 이전 작업은 롤백되지 않음
  • 더 엄격한 안전성이 필요하면 트랜잭션 사용
Python으로 배우는 MongoDB 입문

왜 bulk_write를 사용할까요?

  • 효율적
    • 모든 작업을 한 번에 전송
    • 시간 절약, 네트워크 오버헤드 감소
  • 추적 가능
    • 단일 결과 객체
    • 모든 작업 결과의 통합 요약
    • 감사 및 디버깅 용이
  • 깔끔함
    • 작업 분산 방지
    • 로직을 모아 더 읽기 쉬움
Python으로 배우는 MongoDB 입문

무엇을 조합할 수 있나요?

  • 다음을 혼합하여 사용 가능:

    • InsertOne()
    • UpdateOne() / UpdateMany() / ReplaceOne()
    • DeleteOne() / DeleteMany()
    • ReplaceOne()
  • 다음에 적합:

    • 데이터 동기화
    • 데이터 정리
    • 대량 가져오기
Python으로 배우는 MongoDB 입문

연습해 봅시다!

Python으로 배우는 MongoDB 입문

Preparing Video For Download...