MongoDB Aggregate
- pipeline을 가지며 각 단계별로 진행을 마친 후 결과값을 출력한다.
- $project > $match > $group > $sort > $skip > $limit > $unwind > $out
- $project : document의 pipeline을 reshape한다.
- $match : Aggregate에서 필터 역할
- $unwind : array form을 삭제하고 flat한 형태로 만들어준다.
$match example
{
$match :
{
email : 'taeho@xxx.com'
}
}
$project example
{
$project :
{
emailLength : {$strLenCP : '$email'},
password : 0
}
}
$expr이란??
$lookup이란?
- MongoDB 3.2버전 이상부터 지원하는 보조적인 JOIN 기능
{
$lookup :
{
from : 'join할 컬렉션',
localField : '현재 컬렉션에서 비교할 key 값',
foreignField : 'join할 컬렉션에서 비교할 key 값',
as : '별칭'
}
}