Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

PyMongo로 MongoDB에 Python 객체 삽입하는 방법 (datetime 활용 예제)

Python에서 pymongo 라이브러리를 사용하면 MongoDB 데이터베이스에 손쉽게 연결하여 객체를 삽입(insert), 수정(update), 삭제(delete)할 수 있습니다. 특히 PyMongo는 Python의 datetime 객체를 기본적으로 지원하기 때문에, 날짜 데이터를 MongoDB에 저장할 때 별도의 변환 작업 없이 그대로 사용할 수 있다는 점이 큰 장점입니다.

예제 코드

아래 예제는 MongoDB에 연결한 후, 현재 UTC 시간을 담은 문서를 컬렉션에 삽입하는 기본적인 방법을 보여줍니다.

from pymongo import MongoClient

# 기본 호스트와 포트로 MongoDB에 연결 시도
client = MongoClient()
db = client.test_database

# objects 컬렉션에 딕셔너리 형태의 문서 삽입
result = db.objects.insert_one({"last_modified": datetime.datetime.utcnow()})
print("Object inserted!")

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

Object inserted!

주의 사항: utcnow() vs now()

날짜와 시간을 저장할 때는 반드시 datetime.datetime.utcnow()를 사용하는 것이 좋습니다. 이 메서드는 현재 시간을 UTC(협정 세계시) 기준으로 반환합니다.

반면 datetime.datetime.now()는 서버가 위치한 현지 시간대(local time)를 반환하기 때문에, 여러 지역의 서버에서 동일한 데이터베이스를 사용할 경우 시간 데이터가 일관되지 않게 저장될 수 있습니다. 따라서 데이터베이스에는 항상 UTC 기준으로 시간을 저장하고, 화면에 표시할 때만 현지 시간대로 변환하는 것이 모범 사례(best practice)입니다.