[python] 파이썬으로 MongoDB의 데이터 그룹화하기
MongoDB는 NoSQL 데이터베이스로서 데이터의 그룹화를 통해 강력한 집계 및 분석 기능을 제공합니다. 파이썬을 사용하여 MongoDB의 데이터를 그룹화하는 방법에 대해 알아보겠습니다.
1. pymongo 라이브러리 설치
MongoDB와 상호 작용하기 위해 pymongo
라이브러리를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다:
pip install pymongo
2. MongoDB에 연결하기
pymongo
를 사용하여 MongoDB에 연결합니다. 다음 코드에서는 로컬 환경에서 실행 중인 MongoDB에 연결하는 방법을 보여줍니다:
from pymongo import MongoClient
# MongoDB에 연결
client = MongoClient('localhost', 27017)
# 데이터베이스 선택
db = client['mydatabase']
# 컬렉션 선택
collection = db['mycollection']
3. 데이터 그룹화 쿼리 작성
MongoDB에서 데이터를 그룹화하기 위해 aggregate
함수를 사용합니다. 그룹화 작업을 위한 쿼리를 작성하여 aggregate
함수에 전달합니다.
pipeline = [
{"$group": {"_id": "$category", "count": {"$sum": 1}}},
{"$sort": {"count": -1}},
]
위의 예제에서는 category
필드를 기준으로 데이터를 그룹화하고 각 그룹의 개수를 계산하는 작업을 수행합니다. 결과는 count
필드에 저장됩니다.
4. 데이터 그룹화 실행
앞서 작성한 쿼리를 사용하여 데이터를 그룹화합니다. aggregate
함수를 호출하고 결과를 가져옵니다.
result = collection.aggregate(pipeline)
# 결과 출력
for doc in result:
print(doc)
위의 코드에서는 결과를 순회하면서 각 그룹의 정보를 출력합니다.
5. 전체 코드 예제
from pymongo import MongoClient
# MongoDB에 연결
client = MongoClient('localhost', 27017)
# 데이터베이스 선택
db = client['mydatabase']
# 컬렉션 선택
collection = db['mycollection']
# 데이터 그룹화 쿼리 작성
pipeline = [
{"$group": {"_id": "$category", "count": {"$sum": 1}}},
{"$sort": {"count": -1}},
]
# 데이터 그룹화 실행
result = collection.aggregate(pipeline)
# 결과 출력
for doc in result:
print(doc)
이제 파이썬과 MongoDB를 함께 사용하여 데이터를 그룹화하는 방법을 알게 되었습니다. 데이터 그룹화는 데이터 분석에 매우 유용하며 복잡한 쿼리 작업을 간단하게 수행할 수 있습니다.