Airflow MongoDB Provider의 replace_many

최대 1 분 소요

Airflow에서 MongoDB에 연결하기 위해 사용하는 MongoDB Provider에는 PyMongo에 없는 replace_many 함수가 있습니다. PyMongo에서 지원되는 관련 함수 목록은 아래와 같습니다.

PyMongo의 Operation 목록 일부

  • insert_one
  • insert_many
  • replace_one
  • update_one
  • update_many
  • delete_one
  • delete_many

MongoDB Provider에서는 replace_many만 없는게 불편했는지 replace_many를 만들어줬습니다. 

def replace_many(mongo_collection, docs, filter_docs=None,
    mongo_db=None, upsert=False, collation=None, **kwargs):
	...

구현은 multiple replace_onebulk_write로 처리하도록 구현되어있습니다. docslist[dict] 형태로, replace_one에 들어가는 dictionary를 list로 넣으면 됩니다.


Reference

 

댓글남기기