在Meteor 1.8中,聚合计数查询不再起作用

时间:2018-12-18 12:15:53

标签: meteor

我一直在查询中使用Aggregate获取总记录数,但今天我从Meteor 1.2迁移到1.8,现在以下查询给了我一个例外:

我正在服务器端使用meteorhacks:aggregate @版本1.3.0

查询:

Articles.aggregate([
      { $match: {userId: 'a767GGhrd743Ghe349sd'} },
      { $group: { _id: null, count: { $sum: 1 } } }               
])[0];

例外:

TypeError: Cannot read property \'count\' of undefined\n

在Meteor 1.2中,相同的查询为我提供了计数器,但由于我已更新为Meteor 1.8,现在它不再起作用。

1 个答案:

答案 0 :(得分:3)

您使用的软件包(meteorhacks:aggregate从2015年左右开始被废弃。随着新的Mongo> = 3.0.0(自Meteor 1.7引入),该软件包将不再起作用,因为存在重大更改在Mongo驱动程序中。

另一种选择是针对the latest Mongo driver自我实现聚合功能,或者使用sakulstra:aggregate之类的活跃维护包的分支。

分叉包本身described the problem as well

  

meteorhacks / meteor-aggregate似乎没有得到维护,因此让我们维护一个fork! Meteor 1.7及其向mongodriver v3的升级引入了一些重大更改,这些更改将破坏meteorhacks:meteor-aggregate。