我有以下聚合查询:
db.radars.aggregate([
{
$group: {
_id: '$locationId',
count: {$sum: 1}
},
},
{
$match: {
loggedAt: {
$gte: new Date('2014-01-01T00:00:00Z'),
$lte: new Date('2016-12-31T00:00:00Z')
}
}
}
]);
我肯定有符合条件的数据:
但我一无所获:
有谁知道为什么会这样?
答案 0 :(得分:2)
在$group
之后,管道将包含仅包含$group
:_id
和count
中定义的字段的文档,因此没有{{1要匹配的字段。
因此,根据您要查找的输出,重新排序您的管道以首先执行loggedAt
或将$match
的累加器添加到您的loggedAt
,以便它仍然可用
例如:
$group