Aggregation이란?
- Collection 데이터를 변환하거나 분석하기 위해 사용하는 집계 프레임워크
- Aggregation은 Find함수로 처리할 수 없는, SQL의 Group By 와 Join 구문 같은 복잡한 데이터 분석 기능들을 제공한다.
- Aggregation 프레임워크는 Pipeline형태를 갖춘다. (Linux Pipeline 구문과 동일한 방식)
- MongoDB 2.2 부터 제공되었고 이전에는 Map Reduce를 사용했다.
SELECT
productName
,SUM(quantity) AS sumQuantity
FROM orders
WHERE status = 'urgent'
GROUP BY productName;
db.orders.aggregate([
{$match: {status:'urgent'}},
{$group:{
_id: '$productName',
sumQuantity: {$sum: '$quantity'}
}}
])
데이터 가공 순서
스트림형태로 가공
flowchart LR
input --> $match
$match --> $group
$group --> $sort
$sort --> output
'대용량 처리 이해 > MongoDB' 카테고리의 다른 글
Read Preference (0) | 2023.02.16 |
---|---|
일관성 제어 (0) | 2023.02.15 |
Sharded Cluster (0) | 2023.01.28 |
Replica Set (0) | 2023.01.01 |
MongoDB 구조 (0) | 2022.12.31 |