2017-02-17 3 views
1

У меня есть эта коллекция (Spieltag) с двумя документами в MongoDB:Совокупные не является функцией - MongoDB/метеор

 
0: Object Note:2.5 SaisonID:201516 SpielerID:105 SpieltagID:1 Tore:1 _id:"vkD5sMCdZdntoCFGP" 

1: Object Note:3 SaisonsID:201516 SpielerID:105 SpieltagID:1 Tore:0 _id:"PrqokMS47K4vx4KR4" 

я хочу подвести итог Note (2.5 + 1) с "где положение" на SpielerID ,

Это то, что я пытался использовать:

Spieltag.aggregate({ $match: { 
     { SpielerID: { $gte: 105 } } 
} }, 
{ $group: { _id : null, sum : { $sum: "$Note" } } }); 

Но это не работает, выбрасывая Aggregate is not a function. Любая идея, что не так?

+1

Возможный дубликат [как использовать агрегатную функцию in meteor] (http://stackoverflow.com/questions/28425316/how-to-use-aggregate-function-in-meteor) –

ответ

1

Во-первых, вам нужно добавить совокупный пакет для Meteor:

meteor add meteorhacks:aggregate 

Во-вторых, вы должны передать параметр массива в совокупности как:

Spieltag.aggregate([{ 
    $match: { 
    SpielerID: { $gte: 105 }, 
    }, 
}, { 
    $group: { 
    _id: null, 
    sum: { $sum: '$Note' }, 
    }, 
}]); 
+0

Я сделал обновление ... meteorhacks: агрегат добавлен, версия 1.3.0 meteorhacks: коллекция-Utils добавлено, версия 1.2.0 mongo-livingata добавлено, версия 1.0.9 И я вставляю указанную выше функцию агрегации в консоль скрипта java в chrome. Но я получаю ту же ошибку. Должен ли я вставить в приложение заявление, что это сработает? – HansMuff

+0

Извините, как указано в https://github.com/meteorhacks/meteor-aggregate, агрегат работает только на стороне сервера. Чтобы использовать его на клиенте, вы можете публиковать результат агрегатной функции с сервера и подписаться на него в клиенте. –

+0

Что мне нужно делать, когда вы говорите, что я должен создать агрегатную функцию на стороне сервера? В моей JS файл я имею следующую структуру ... если (Meteor.isClient) { ... } если (Meteor.isServer) { ... } На данный момент в Сервер - это только Meteor.startup (function() { }); и все остальное находится в области «isClient», – HansMuff

Смежные вопросы