안녕하세요 다음 코드는 이제 일이 있습니다몽구스 그룹 집계 필드
app.get('/api/checkAv/:checkIn/:checkOut', function(req, res) {
var checkIn = req.params.checkIn,
checkOut = req.params.checkOut,
roomType = req.params.roomType,
startDate = moment(checkIn),
endDate = moment(checkOut),
nights = endDate.diff(startDate, 'days');
model.Av.aggregate([
{$match: {dateOfDay: {$gte: new Date(checkIn), $lt:new Date(checkOut)} }},
{$group: {
_id: '$roomId',
total: {$sum: '$price'},
count: {$sum: 1},
avg: {$avg: '$price'}
}},
{ $match: { count: { $gte: nights } } }
], function (err, result) {
if (err)
res.send(err);
res.json(result);
});
});
이 나에게 같은 반환 :
[
{
"_id": "545b4848344044fa3ec9ac74",
"total": 180,
"count": 2,
"avg": 90
}
]
을하지만, 나 또한 저를 반환하려면 내가 필요로하지 않는/그룹 절에서 그들과 같은 몇 가지 다른 필드는 다음과 같습니다. available, price ...
몽구스 문서 읽기이 문제에 대해 $ project를 사용해야 함을 이해합니다.
{$project: {price: "$price"}}
지금은 단지 빈 결과를 얻을 ... 나는 같은 $ 그룹의 원인이 무엇인가에 추가하는 시도를 : 같은 omething
가격 : '$ 가격'내가 얻을 수없는 성공 : "예외 : 그룹 집계 필드 '가격'은 객체 내부의 표현식으로 정의해야합니다. ','성공하지 않고 오류를 고글 처리했습니다. 어떻게해야합니까? '
감사합니다. {$ first : '$ price'}는 내가 찾고 있었던 것이 었습니다. – Teodor