const result = await collection.aggregate([
{
$match: { //조건절
user_id: userid
// itemCode : 1109 처럼 db에서 바로 가져오거나
// project에서 true시킨거만 조건절에 쓰고 있음
}
},
{
$project: { //가져올 항목 (주문 시간)
code: 1, //주문일자
cnt : 1, //주문수량
user_id :1
}
},
{
$group : {
_id : "$code", // 그룹할 목록
user_id : {$first : '$user_id'} ,
count : {
$sum : '$cnt'
// $sum : '1' 을 하면 주문한 횟수가 나온다. 2시때는 2번 주문했고 이런식으로
}
}
},
$project에서는 컬렉션 명이 된다.
$group :{
_id : '$code1', //그룹기준
count: {$sum : 1},
pricetotal : {$sum: '$price'},
quantity : {$sum : '$quantity'}
}
$code1이 있으려면 $project에서 선언해줘야 함.
$sum: 1의 의미는 있으면 1씩 더해준다는 의미
$sum : ' $price'는 price 컬럼에 해당하는 값을 다 더해준다는 의미를 가지고 있다.
{
$match: {
code3: {$in : code3}
}
},
{
$project : {
code3:1,
price:1,
quantity:1
}
},
{
$group :{
_id : '$code3', //그룹기준
count: {$sum : 1},
pricetotal : {$sum: '$price'},
quantity : {$sum : '$quantity'}
}
}
])
다음과 같이 in문을 활용할 수 있음.