집계 자습서
이 페이지의 내용
개요
애그리게이션 튜토리얼에서는 일반적인 애그리게이션 작업에 대한 자세한 설명을 단계별 형식으로 제공합니다. 이 튜토리얼은 실용적인 MongoDB 애그리게이션 책 의 예제를 수정했습니다. by 폴 돈.
각 튜토리얼에는 다음 섹션이 포함되어 있습니다.
소개에서 집계 형식의 목적과 일반적인 사용 사례를 설명합니다. 이 섹션에서는 튜토리얼에서 보여 주는 예제 및 원하는 결과에 대해서도 설명합니다.
시작하기 전에는 집계 파이프라인을 구축하고 집계를 수행하기 전에 필요한 데이터베이스, 컬렉션, 샘플 데이터에 대해 설명합니다.
튜토리얼은 집계 파이프라인을 빌드하고 실행하는 방법을 설명합니다. 이 섹션에서는 완료된 집계 튜토리얼의 각 단계를 설명한 다음, 집계를 실행하고 집계 결과를 해석하는 방법을 설명합니다.
각 애그리게이션 튜토리얼이 끝나면 해당 환경에서 실행할 수 있는 완전히 실행 가능한 Python 코드 파일에 대한 링크를 찾을 수 있습니다.
집계 템플릿 앱
애그리게이션 튜토리얼을 시작하기 전에 새 Python 앱을 설정해야 합니다. 이 앱을 사용하여 MongoDB deployment에 연결하고, 샘플 데이터를 MongoDB에 삽입하고, 각 튜토리얼에서 집계 파이프라인을 실행할 수 있습니다.
팁
드라이버를 설치하고 MongoDB에 연결하는 방법을 알아보려면 PyMongo 시작하기를참조하세요.
드라이버를 설치한 후 agg_tutorial.py
이라는 파일을 만듭니다. 이 파일에 다음 코드를 붙여넣어 애그리게이션 튜토리얼을 위한 앱 템플릿을 만듭니다.
from pymongo import MongoClient # Replace the placeholder with your connection string. uri = "<connection string>" client = MongoClient(uri) try: agg_db = client["agg_tutorials_db"] # Get a reference to relevant collections. # ... some_coll = # ... another_coll = # Delete any existing documents in collections. # ... some_coll.delete_many({}) # Insert sample data into the collection or collections. # ... some_data = [...] # ... some_coll.insert_many(some_data) # Create an empty pipeline array. pipeline = [] # Add code to create pipeline stages. # ... pipeline.append({...}) # Run the aggregation. # ... aggregation_result = ... # Print the aggregation results. for document in aggregation_result: print(document) finally: client.close()
중요
앞의 코드에서 코드 주석을 읽어 따라 배우고 있는 튜토리얼을 위해 수정해야 하는 코드 섹션을 찾습니다.
변경하지 않고 코드를 실행하려고 하면 연결 오류가 발생합니다.
모든 튜토리얼에서 연결 문자열 자리 표시자를 배포의 연결 문자열로 바꿔야 합니다. 배포의 연결 문자열을 찾는 방법을 알아보려면 연결 문자열 만들기를 참조하세요.
예를 들어 연결 문자열이 "mongodb+srv://mongodb-example:27017"
인 경우 연결 문자열 할당은 다음과 유사합니다.
uri = "mongodb+srv://mongodb-example:27017";
튜토리얼용 템플릿을 수정한 후 완성된 파일을 실행하려면 shell에서 다음 명령을 실행합니다.
python3 agg_tutorial.py