Я работаю над проектом метеор, где мне нужно получить среднее количество очков обзора. Я наткнулся на meteorhacks: совокупный пакет, но не смог его реализовать.Meteor Avg Aggregate from Publish to Helpers
публикации:
Meteor.publish('supplierReviewsOverall', function(userid){
var pipeline = [
{
$match: {
supplier: userid
}
},
{
$group: {
_id: null,
rate_overall : { $avg: "$rate_overall" },
rate_timeliness : { $avg: "$rate_timeliness" },
rate_quality : { $avg: "$rate_quality" },
rate_value : { $avg: "$rate_value" }
}
}
]
return SupplierReviews.aggregate(pipeline);
});
И я получаю эту ошибку: Ошибка: Опубликовать функция вернула массив не-курсоров.
Затем, как я получу значение для помощника, чтобы я мог поместить данные в HTML?
Большое спасибо !!!
Спасибо за это! Мне нравится первый подход, хотя я потеряю реактивность. Мой вопрос: как я могу получить к нему доступ в помощнике, чтобы я мог распечатать его в представлении? Благодаря! – user3545006
Вам необходимо подписаться на вашу публикацию. После этого вы можете получить доступ к своим данным в контексте данных шаблона, если вы привяжете его к нему. Внутри вашего помощника, в зависимости от того, где он, это будет 'this.data.yourData' или' this.yourData'. Второе решение, у вас будет прямой доступ к минимальной версии коллекции «SupplierReviews». Вы можете получить доступ к нему «напрямую» с помощью 'SupplierReviews.find()'. Взгляните сюда на лучшее понимание: https://www.discovermeteor.com/blog/understanding-meteor-publications-and-subscriptions/ – Billybobbonnet