[python] 파이썬으로 MongoDB의 데이터 스케줄링하기

이번 블로그 포스트에서는 파이썬을 사용하여 MongoDB에서 데이터 스케줄링을 하는 방법에 대해 알아보겠습니다.

1. MongoDB와 PyMongo 설치

먼저, MongoDB와 파이썬의 MongoDB 드라이버인 PyMongo를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install pymongo

2. MongoDB에 연결하기

import pymongo

# MongoDB에 연결
client = pymongo.MongoClient("mongodb://localhost:27017/")

# 데이터베이스 선택
db = client["mydatabase"]

위의 코드에서는 pymongo.MongoClient를 사용하여 MongoDB에 연결하고, client["mydatabase"]를 사용하여 mydatabase라는 데이터베이스를 선택합니다.

3. 데이터 스케줄링하기

이제 데이터를 스케줄링하여 MongoDB에 저장하는 방법을 알아보겠습니다.

import datetime

# 현재 날짜와 시간
current_time = datetime.datetime.now()

# 새로운 데이터 생성
data = {
    "timestamp": current_time,
    "value": 10
}

# 데이터베이스의 컬렉션 선택
collection = db["mycollection"]

# 데이터 저장
collection.insert_one(data)

위의 코드에서는 datetime.datetime.now()를 사용하여 현재 날짜와 시간을 가져옵니다. 그리고 새로운 데이터를 생성하고, 선택한 컬렉션에 insert_one()을 사용하여 데이터를 저장합니다.

4. Task 스케줄러 설정하기

마지막으로, 파이썬의 Task 스케줄러인 schedule 패키지를 사용하여 데이터 스케줄링을 설정해보겠습니다.

import schedule
import time

def job():
    # 데이터 스케줄링 코드 작성
    current_time = datetime.datetime.now()
    data = {
        "timestamp": current_time,
        "value": 10
    }
    collection.insert_one(data)

schedule.every(1).minutes.do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

위의 코드에서는 schedule.every(1).minutes.do(job)를 사용하여 1분마다 job() 함수를 실행하도록 스케줄링을 설정합니다. job() 함수에서는 데이터 스케줄링을 위해 위에서 작성한 코드를 실행합니다.


이제 파이썬을 사용하여 MongoDB의 데이터 스케줄링을 할 수 있는 방법을 알아보았습니다. 이를 응용하여 다양한 작업을 자동화하고 데이터를 효율적으로 관리할 수 있습니다.

참고 자료: