[python] 파이썬으로 MongoDB에서의 데이터 모델링

MongoDB는 NoSQL 데이터베이스로서, 데이터를 처리하기 위한 유연한 스키마를 제공합니다. 데이터 모델링은 데이터베이스 설계의 핵심 요소이며, 파이썬을 사용하여 MongoDB에서 데이터 모델링하는 방법을 알아보겠습니다.

MongoDB와의 연결

먼저, MongoDB와 파이썬을 연결하기 위해 pymongo라는 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다:

pip install pymongo

연결하기 위해 다음 코드를 사용할 수 있습니다:

from pymongo import MongoClient

# MongoDB에 연결
client = MongoClient('mongodb://localhost:27017/')

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

MongoClient 클래스를 사용하여 MongoDB에 연결하고, 연결된 클라이언트를 사용하여 데이터베이스를 선택합니다.

컬렉션 생성

MongoDB에서 데이터를 저장하기 위해 컬렉션을 생성해야 합니다. 컬렉션은 관련된 문서들의 그룹입니다.

# 컬렉션 생성
collection = db['mycollection']

db['mycollection']과 같이 데이터베이스 객체에 접근하여 컬렉션을 생성할 수 있습니다.

문서 추가

다음은 파이썬을 사용하여 MongoDB에 데이터를 추가하는 예시입니다.

# 새로운 문서 추가
data = {'name': 'John', 'age': 25, 'city': 'Seoul'}
collection.insert_one(data)

insert_one 메서드를 사용하여 컬렉션에 새로운 문서를 추가할 수 있습니다.

데이터 조회

다음은 파이썬을 사용하여 MongoDB에서 데이터를 조회하는 예시입니다.

# 모든 문서 조회
for document in collection.find():
    print(document)

find 메서드를 사용하여 컬렉션의 모든 문서를 조회할 수 있습니다. 결과는 커서 형태로 반환되며, for 루프를 사용하여 문서를 순회할 수 있습니다.

쿼리

MongoDB에서 데이터를 쿼리하기 위해 쿼리 조건을 사용할 수 있습니다. 다음은 예시입니다.

# 조건에 맞는 문서 조회
query = {'age': {'$gt': 20}} # 나이가 20보다 큰 문서 조회
result = collection.find(query)

for document in result:
    print(document)

find 메서드에 쿼리 조건을 전달하여 조건에 맞는 문서만 조회할 수 있습니다. 여기서는 나이가 20보다 큰 문서를 조회하는 예시입니다.

요약

위의 예시를 통해 파이썬을 사용하여 MongoDB에서 데이터를 모델링하는 방법을 알아보았습니다. 이를 기반으로 다양한 데이터 모델을 구축할 수 있으며, MongoDB의 유연한 스키마를 활용하여 데이터를 효율적으로 관리할 수 있습니다.

더 자세한 정보를 원하시면 MongoDB 공식 문서를 참조해주세요: