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
의 공식 문서를 참고하시기 바랍니다.
pymongo
공식 문서: https://pymongo.readthedocs.io/
Happy coding!