0
其余
您好,我有以下代码现在的工作:猫鼬群聚集不回场
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
}
]
,但我想我回报也一些其他领域从集合,我不需要/有他们在小组条款例如:可用,价格...
阅读Mongoose文档我明白我需要使用$项目的这个问题,所以我添加了s omething像:
{$project: {price: "$price"}}
,现在我得到的只是空的结果...我在$组原因类似尝试添加:
价格:“$价格”没有成功,我得到:“例外:组合字段“价格”必须定义为一个对象内的表达式“,我忽略了错误而没有成功,我应该如何实现这一目标?
谢谢你的价格:{$ first:'$ price'}是我一直在寻找 – Teodor 2014-11-08 18:17:25