я определил следующую публикацию на стороне сервера:я не могу потреблять мои публикации в помощнике шаблона метеора
Meteor.publish('observedQuestionsFeed',function(){
_self = this;
return Questions.find({
observedByUsers : {$exists: true,$elemMatch: {$eq:_self.userId}}});
});
который возвращает то, что мне нужно;
тогда я определил подписку на эту публикацию в моем шаблоне следующим образом:
Template.observedQuestions.onCreated(function(){
var self = this;
self.autorun(function(){
self.subscribe('observedQuestionsFeed');
});
});
, но я не могу потреблять эту публикацию в моем помощнике, как мне нужно повторить тот же запрос, как я понимаю, но $ эк не является признается;
я поставил:
Template.observedQuestions.helpers({
observedQuestions : function(){
questions = Questions.find({
observedByUsers : {$exists: true,$elemMatch: {$eq:Meteor.userId()}}});
return questions;
}
});
, который не работает из-за $ не эквалайзером распознан. Я хочу использовать эту очень конкретную публикацию только в этом конкретном шаблоне. Как мне это сделать? (seenByUsers - простой массив usersIds или не определено в моей коллекции mongo)
Это то, что я думал, но он возвращает всю коллекцию не только документы я выбрал на стороне сервера, может быть, он должен делать с другими моими шаблонами, на страницы, которые также используют ту же коллекцию. – marcinwal