집계 프레임워크는 여러 도큐먼트의 데이터를 변환하고 결합한다. 그래서 단일 도큐먼트에서 사용할 수 없는 새로운 정보를 생성할 수 있다.

집계 프레임워크는 한 번의 호출로 일련의 도큐먼트 작업을 정의한 다음 배열 형태로 보낼 수 있으므로 작업을 훨씬 쉽고 효율적으로 수행할 수 있다.

집계 파이프라인

db.products.aggregate([
	{ '$match': /* ... */ },
	{ '$group': /* ... */ },
	{ '$sort': /* ... */ }
])

입력 도큐먼트의 필드를 참조할때 $ 를 앞에 붙인다.

db.reviews.aggregate([
	{ '$group': { '_id': '$product_id' } }
])