라이브러리 | 주요 특징 | 비동기 지원 | 스키마 정의 | 사용 사례 |
---|---|---|---|---|
MongoEngine | SQL ORM과 유사한 설계, 강력한 데이터 검증 | ❌ | ✅ | 스키마 기반 설계, 동기식 환경 |
Beanie | Pydantic 기반, 비동기 지원 | ✅ | ✅ | 타입 안정성과 비동기 작업이 필요한 경우 |
PyMODM | MongoDB 공식 지원, 간단한 모델링 | ❌ | ✅ | 간단한 ODM이 필요한 경우 |
ODMantic | Pydantic 기반, 비동기 지원 | ✅ | ✅ | 비동기 작업이 필요한 간단한 앱 |
Djongo | Django ORM을 MongoDB로 확장 | ❌ | ✅ | Django 프로젝트와 MongoDB 통합 |
파이썬에서는 MongoDB를 지원하는 몇 가지 ORM(Object Relational Mapping) 또는 ODM(Object Document Mapping) 라이브러리가 존재합니다. MongoDB는 문서 기반 NoSQL 데이터베이스이기 때문에 ODM이라는 표현이 더 적합합니다.
다음은 Python에서 MongoDB를 지원하는 주요 ODM 라이브러리들입니다:
bash
코드 복사
pip install mongoengine
python
코드 복사
from mongoengine import Document, StringField, IntField, connect
# MongoDB 연결
connect('mydatabase')
# 모델 정의
class User(Document):
name = StringField(required=True)
age = IntField()
# 데이터 생성
user = User(name="Alice", age=25)
user.save()
# 데이터 조회
for user in User.objects:
print(user.name, user.age)