我正在使用meteorhacks:aggregate包在Meteor中进行Mongo聚合。我想在管道的最后阶段得到计数,所以我使用这段代码:
Message.aggregate([
{
$match: {
// ...
}
}, {
$count: 'count'
}
]);
这很简单,应该有效,但我只收到这个错误:
Exception while invoking method 'methodname'
MongoError: Unrecognized pipeline stage name: '$count'
...
请帮助,谢谢。
已更新:此问题不会像编辑建议的那样重复,我的主要目的是找出为什么我无法使用$count
答案 0 :(得分:26)
$count
在mongodb 3.4版中可用。对于以前的版本,
你需要在一个常数字段上使用$group
。
Message.aggregate([
{
$match: {
// ...
}
}, {
$group: {
_id : null,
count : {$sum : 1}
}
}
]);