[python] 파이썬으로 MongoDB의 통계 정보 수집하기

MongoDB는 인기있는 NoSQL 데이터베이스로, 대규모 데이터의 저장 및 관리에 매우 유용합니다. 이번 글에서는 파이썬을 사용하여 MongoDB의 통계 정보를 수집하는 방법을 알아보겠습니다.

1. pymongo 라이브러리 설치하기

pymongo는 MongoDB와 상호작용하기 위한 파이썬 라이브러리입니다. pip를 사용하여 간단하게 설치할 수 있습니다.

pip install pymongo

2. MongoDB 연결하기

먼저, pymongo를 사용하여 MongoDB에 연결합니다. MongoDB 서버가 실행 중이어야 합니다.

from pymongo import MongoClient

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

위 코드에서 localhost:27017는 MongoDB 서버의 주소와 포트를 나타냅니다. 만약 다른 주소나 포트를 사용하는 경우에는 해당 정보를 변경해주어야 합니다.

3. 데이터베이스 및 컬렉션 선택하기

MongoDB는 데이터를 데이터베이스(Database)와 컬렉션(Collection)으로 구성하여 관리합니다. 데이터베이스를 선택한 후 해당 데이터베이스에 있는 컬렉션을 선택해야 합니다.

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

# 컬렉션 선택
collection = db['mycollection']

위 코드에서 mydatabase는 사용할 데이터베이스의 이름을 나타냅니다. 만약 이미 존재하지 않는 데이터베이스를 지정하는 경우, MongoDB는 새로운 데이터베이스를 생성합니다. 마찬가지로 mycollection은 사용할 컬렉션의 이름입니다.

4. 통계 정보 수집하기

이제 pymongo를 사용하여 MongoDB에서 통계 정보를 수집할 수 있습니다. aggregate() 메서드를 사용하여 원하는 집계 작업을 수행할 수 있습니다.

# 통계 정보 수집
pipeline = [
    { '$group': { '_id': '$category', 'count': { '$sum': 1 } } },
    { '$sort': { 'count': -1 } }
]

results = collection.aggregate(pipeline)

for result in results:
    print(result)

위 코드에서는 $group 연산자를 사용하여 category 필드를 기준으로 그룹화하고, 각 그룹의 개수를 $sum 연산자를 이용하여 계산합니다. 그리고 $sort 연산자를 사용하여 결과를 내림차순으로 정렬합니다.

마무리

이렇게 파이썬으로 MongoDB의 통계 정보를 수집하는 방법을 알아보았습니다. pymongo를 사용하면 MongoDB 데이터베이스와 손쉽게 상호작용할 수 있으며, 다양한 집계 작업을 수행할 수 있습니다. 더 자세한 내용은 pymongo의 공식 문서를 참고하시기 바랍니다.

Happy coding!