为什么可以';我不能用$match与MongoDB合计吗?

为什么可以';我不能用$match与MongoDB合计吗?,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我的代码是: db.essays.aggregate({ $match: { essayId: 3 }, $group: { _id: { year: { $year: '$essayTime' }, month: { $month: '$essayTime' }, day: { $dayOfMonth: '$essayTime' } },

我的代码是:

db.essays.aggregate({
  $match: {
    essayId: 3
  },
  $group: {
    _id: {
      year: {
        $year: '$essayTime'
      },
      month: {
        $month: '$essayTime'
      },
      day: {
        $dayOfMonth: '$essayTime'
      }
    },
    count: {
      $sum: 1
    }
  }
});
它返回一个错误:
“异常:管道阶段规范对象必须只包含一个字段。”


但是,如果我没有使用
$match
,那么它会按预期返回。我做错了什么?

将每个管道阶段放入数组中自己的对象中:

db.attractions.aggregate([
{$match:{
essayId:3
}},
{$group:{
_身份证:{
年份:{
$year:“$essayTime”
},
月份:{
$month:“$essayTime”
},
日期:{
$dayOfMonth:“$essayTime”
}
},
计数:{
$sum:1
}
}}
]);