Запрос совокупного количества больше не работает в Meteor 1.8 - PullRequest
0 голосов
/ 18 декабря 2018

Я использовал Aggregate в запросах для получения общего количества записей, но сегодня я перешел с Meteor 1.2 на 1.8, и теперь этот следующий запрос дает мне исключение:

Я использую meteorhacks: агрегат @ версия 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 голосов
/ 18 декабря 2018

Пакет, который вы используете (meteorhacks:aggregate), заброшен примерно с 2015 года. С новым Mongo> = 3.0.0 (который был введен после Meteor 1.7) этот пакет больше не будет работать, так как в нем происходят серьезные изменения.Драйвер Mongo.

Альтернативой может быть либо самостоятельная реализация агрегатной функциональности для последнего драйвера Mongo , либо использование активного поддерживаемого форка пакета, такого как sakulstra:aggregate.

Сам разветвленный пакет также описал проблему :

Метеорохаки / Метеоритная совокупность, кажется, довольно не поддерживаются, поэтому давайте оставим ответвление!Метеор 1.7 и его обновление до mongodriver v3 представили некоторые серьезные изменения, которые сломают метеориты: совокупность метеоров.

...