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