M121: The MongoDB Aggregation Framework - 0~1

김하영·2023년 1월 31일
0

LESSON 0: INTRODUCTION AND AGGREGATION CONCEPTS

Atlas Requirements

  • brew 명령어 통해 mongodb 설치
  • mongosh 명령어 통해 mongodb 연결 및 컬렉션 확인

The Concept of Pipelines ( 파이프라인 개념 )

  • 파이프라인 = 단계의 구성
    ex) 공장의 컨베이어 벨트 ( 각 단계 마다 작업을 통해 원하는 결과를 도출 )
  • 집계 프레임워크는 데이터를 필터링하고 변환할 수 있는 여러 단계를 제공한다.

Aggregation Structure and Syntax

LESSON 1: BASIC AGGREGATION - $MATCH AND $PROJECT

$match: Filtering documents

  • $match 단계에서는 필터를 구성하고, 그 기준을 충족하는 문서만 다음 파이프라인에 전달된다.
  • $match 는 여러번 사용될 수 있다.
  • mongoDB find 쿼리 연산자들을 사용한다. (비교,논리,배열 연산자 사용가능 / $where 은 사용불가)
  • $match 가 첫번째 단계일 경우, 인덱스를 활용하여 처리 속도를 높일 수 있다. (초기 제공 되어야함)

Shaping documents with $project

  • $project 는 필드를 선택적으로 제거하고 유지할 수 있을 뿐만 아니라 기존 필드 값을 다시 할당하고 완전히 새로운 필드를 파생할 수 있다.
    ex) java stream map (?)
  • $project 는 원하는 만큼 사용할 수 있으며, 필요하지 않는 필드를 잘라내는데 사용해야 한다.
  • _id 필드는 정의하지 않아도 무조건 출력된다.

참고 : https://learn.mongodb.com/courses/m121-the-mongodb-aggregation-framework

profile
Back-end Developer

0개의 댓글