Meteor - Mongo聚合没有$ count阶段

时间:2017-01-16 06:51:12

标签: mongodb meteor mongodb-query aggregation-framework

我正在使用meteorhacks:aggregate包在Meteor中进行Mongo聚合。我想在管道的最后阶段得到计数,所以我使用这段代码:

Message.aggregate([
  {
    $match: {
      // ...
    }
  }, {
    $count: 'count'
  }
]);

这很简单,应该有效,但我只收到这个错误:

Exception while invoking method 'methodname' 
MongoError: Unrecognized pipeline stage name: '$count'
...

请帮助,谢谢。

已更新:此问题不会像编辑建议的那样重复,我的主要目的是找出为什么我无法使用$count

1 个答案:

答案 0 :(得分:26)

$count在mongodb 3.4版中可用。对于以前的版本, 你需要在一个常数字段上使用$group

Message.aggregate([
  {
    $match: {
      // ...
    }
  }, {
    $group: {
      _id : null, 
      count : {$sum : 1}
    }
  }
]);