[파이썬] mongoengine 설치 및 초기 설정

MongoDB는 NoSQL 데이터베이스로 대용량의 비정형 데이터를 저장하고 처리하는 데 사용됩니다. Python에서는 mongoengine이라는 ORM(Object Relational Mapper)을 사용하여 MongoDB와 상호 작용할 수 있습니다. 이 블로그 포스트에서는 mongoengine을 설치하고 초기 설정하는 방법을 알아보겠습니다.

Step 1: mongoengine 설치하기

먼저, Python 패키지 관리자인 pip를 사용하여 mongoengine을 설치해야 합니다. 터미널 또는 명령 프롬프트에서 다음 명령을 실행하세요:

pip install mongoengine

Step 2: MongoDB와 연결하기

mongoengine을 사용하기 위해서는 MongoDB 서버에 연결해야 합니다. 연결을 위해 MongoDB 서버의 URL 주소와 포트 번호가 필요합니다. 예를 들어, 로컬에서 실행 중인 MongoDB 서버에 연결하려면 다음과 같은 코드를 작성하세요:

from mongoengine import connect

# MongoDB 서버에 연결
connect('mydatabase', host='localhost', port=27017)

코드에서 ‘mydatabase’는 연결할 데이터베이스의 이름입니다. ‘localhost’와 27017은 MongoDB 서버의 주소와 포트 번호입니다. 필요에 따라 이 값을 수정하여 서버에 연결하세요.

Step 3: Document 클래스 정의하기

mongoengine에서는 데이터를 저장하기 위해 Document 클래스를 정의해야 합니다. Document 클래스는 MongoDB의 컬렉션에 해당합니다. 예를 들어, 사용자 정보를 저장하기 위한 User 클래스를 다음과 같이 정의할 수 있습니다:

from mongoengine import Document, StringField, IntField

class User(Document):
    name = StringField(required=True)
    age = IntField()

User 클래스는 name과 age라는 두 개의 필드를 가지고 있습니다. name 필드는 문자열 타입이며 필수 필드(required=True)로 설정되어 있습니다. age 필드는 정수 타입입니다.

Step 4: 데이터 작성, 읽기 및 업데이트하기

mongoengine을 사용하면 정의한 Document 클래스를 통해 데이터를 작성, 읽기 및 업데이트할 수 있습니다. 예를 들어, User 객체를 생성하고 데이터베이스에 저장하는 방법은 다음과 같습니다:

user = User(name='John Doe', age=25)
user.save()

User 클래스의 객체를 생성한 후 save() 메서드를 호출하여 플랫폼에 데이터를 저장합니다.

데이터를 읽어오는 방법은 다음과 같습니다:

users = User.objects()
for user in users:
    print(user.name)

objects() 메서드는 데이터베이스에서 모든 User 객체를 가져옵니다. 반복문을 사용하여 각 객체의 필드 값을 출력합니다.

데이터를 업데이트하는 방법은 다음과 같습니다:

user = User.objects(name='John Doe').first()
user.age = 30
user.save()

objects() 메서드에 쿼리 조건을 지정하여 해당하는 객체를 가져옵니다. 가져온 객체의 필드 값을 업데이트한 후 save() 메서드를 호출하여 변경 사항을 저장합니다.

마무리

이제 mongoengine을 설치하고 초기 설정하는 방법을 알게 되었습니다. mongoengine은 MongoDB와의 상호 작용을 간단하게 만들어주는 강력한 도구입니다. mongoengine 문서화된 다양한 기능과 메서드를 사용하여 원하는 데이터 모델을 구축하고 MongoDB와 효율적으로 작업할 수 있습니다.