我一直在查询中使用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,现在它不再起作用。
答案 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。